{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "642a4f0d",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 403 entries, 1-1 to 13-31\n",
      "Data columns (total 6 columns):\n",
      " #   Column  Non-Null Count  Dtype  \n",
      "---  ------  --------------  -----  \n",
      " 0   总蒽醌     403 non-null    float64\n",
      " 1   芦荟大黄素   403 non-null    float64\n",
      " 2   大黄酸     403 non-null    float64\n",
      " 3   大黄素     403 non-null    float64\n",
      " 4   大黄酚     403 non-null    float64\n",
      " 5   大黄素甲醚   382 non-null    float64\n",
      "dtypes: float64(6)\n",
      "memory usage: 22.0+ KB\n",
      "None \n",
      "\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 403 entries, 1-1 to 13-31\n",
      "Data columns (total 6 columns):\n",
      " #   Column  Non-Null Count  Dtype  \n",
      "---  ------  --------------  -----  \n",
      " 0   总蒽醌     403 non-null    float64\n",
      " 1   芦荟大黄素   403 non-null    float64\n",
      " 2   大黄酸     403 non-null    float64\n",
      " 3   大黄素     403 non-null    float64\n",
      " 4   大黄酚     403 non-null    float64\n",
      " 5   大黄素甲醚   403 non-null    float64\n",
      "dtypes: float64(6)\n",
      "memory usage: 22.0+ KB\n",
      "None \n",
      "\n",
      "方法一：归一化处理：\n",
      "[[0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " ...\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "#预处理\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from sklearn.preprocessing import MinMaxScaler, StandardScaler\n",
    "coa = pd.read_excel(r'F:\\研究\\蒽醌在线提取数据.xlsx',sheet_name='蒽醌含量',index_col=0)\n",
    "print(coa.info(),'\\n')\n",
    "coa2=coa.dropna(axis=0)\n",
    "coa2=coa.fillna(coa.mean())\n",
    "print(coa2.info(),'\\n')\n",
    "y=coa2.iloc[:, 3]#！！！！3：大黄酸\n",
    "q1=np.quantile(y,q=0.25)\n",
    "q3=np.quantile(y,q=0.75)\n",
    "low_quantile=q1-1.5*(q3-q1)\n",
    "high_quantile=q3+1.5*(q3-q1)\n",
    "y2=[]\n",
    "for i in y:\n",
    "    if i>high_quantile:\n",
    "        i=high_quantile\n",
    "        y2.append(i)\n",
    "    elif i<low_quantile:\n",
    "        i=low_quantile\n",
    "        y2.append(i)\n",
    "    else:\n",
    "        y2.append(i)\n",
    "df_y2 = pd.DataFrame({'y2': y2})\n",
    "ins=pd.read_excel(r'F:\\研究\\蒽醌在线提取数据.xlsx',sheet_name='红外谱图',\n",
    "                                index_col=0)\n",
    "ndata1=MinMaxScaler().fit_transform(ins)# 方法一：归一化处理\n",
    "ndata1=[[round(j,2) for j in ndata1[i]] for i in range(len(ndata1))]\n",
    "ndata1=np.array(ndata1)\n",
    "print(f'方法一：归一化处理：\\n{ndata1}\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f2c4a369",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        PC1        PC2        PC3        PC4       PC5       PC6       PC7  \\\n",
      "0  2.522865  -1.676601   2.156426  -0.424520 -1.680194  0.667718  0.282335   \n",
      "1  8.126323  14.499258  12.727349  14.544243  8.171918  5.770715  0.369124   \n",
      "2  2.552423  -1.700196   2.438898  -0.869959 -1.482911  0.941717 -0.444627   \n",
      "3  2.325457  -1.761810   1.693692  -0.665929 -1.538029  1.188538 -0.026083   \n",
      "4  2.050925  -1.407944   1.644196  -1.262930 -1.020297  1.440309 -0.449456   \n",
      "\n",
      "        PC8  \n",
      "0  1.042949  \n",
      "1 -2.239480  \n",
      "2  0.527596  \n",
      "3  0.451290  \n",
      "4  0.560129  \n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "pca = PCA(n_components=8)  # 设置PCA降维到8维\n",
    "x1 = pca.fit_transform(ndata1)\n",
    "\n",
    "# 创建一个 DataFrame 来存储降维后的特征 x1，并添加特征名称\n",
    "df_x1 = pd.DataFrame(x1, columns=[f'PC{i+1}' for i in range(8)])\n",
    "print(df_x1.head())  # 打印带有特征名称的降维后的特征\n",
    "# 训练集+测试集+校准集：50+25+25\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 首先划分出训练集和临时集\n",
    "X_train, X_temp, y_train, y_temp = train_test_split(df_x1, df_y2['y2'], test_size=0.5, random_state=42)\n",
    "# 然后从临时集中划分出测试集和校准集\n",
    "X_test, X_val, y_test, y_val = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "4d810648",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 22ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n"
     ]
    }
   ],
   "source": [
    "#rnn——————————另外运行\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from tensorflow.keras.models import Sequential\n",
    "from tensorflow.keras.layers import Dense\n",
    "from tensorflow.keras import layers, models\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "import random\n",
    "def calculate_rmse(y_true, y_pred):#计算RMSEc，p\n",
    "    return np.sqrt(mean_squared_error(y_true, y_pred))\n",
    "def calculate_r(y_true, y_pred):# 计算相关系数RcalRval\n",
    "    correlation_matrix = np.corrcoef(y_true, y_pred)  # 计算一维数组的相关系数矩阵\n",
    "    return correlation_matrix[0, 1]  # 返回两个变量的相关系数\n",
    "std_dev = np.std(y_test)# 计算 RPD\n",
    "# 构建RNN模型\n",
    "X_train_rnn = np.expand_dims(X_train.values, axis=2)  # 将数据 reshape 成 RNN 所需的形状# 增加维度\n",
    "X_test_rnn = np.expand_dims(X_test.values, axis=2)    # 增加维度\n",
    "model = models.Sequential([\n",
    "    layers.SimpleRNN(64, activation='relu', input_shape=(X_train_rnn.shape[1], 1)),  # 这里的input_shape根据数据调整\n",
    "    layers.Dense(64, activation='relu'),\n",
    "    layers.Dense(1)  # 输出层\n",
    "])\n",
    "model.compile(optimizer='adam',\n",
    "              loss='mean_squared_error',\n",
    "              metrics=['mean_absolute_error'])# 编译模型\n",
    "history = model.fit(X_train_rnn, y_train, epochs=100, batch_size=32, validation_data=(X_test_rnn, y_test), verbose=0)# 训练模型\n",
    "y_train_pred_rnn = model.predict(X_train_rnn)  # 对训练数据进行预测\n",
    "y_test_pred_rnn = model.predict(X_test_rnn)    # 对测试数据进行预测\n",
    "y_train_pred_rnn = y_train_pred_rnn.flatten()  # 转换为一维数组# 如果预测结果是二维的，需要将其转换为一维数组\n",
    "y_test_pred_rnn = y_test_pred_rnn.flatten()    # 转换为一维数组\n",
    "rmsec_rnn = calculate_rmse(y_train, y_train_pred_rnn)\n",
    "rmsep_rnn = calculate_rmse(y_test, y_test_pred_rnn)\n",
    "rcal_rnn = calculate_r(y_train, y_train_pred_rnn)\n",
    "rval_rnn = calculate_r(y_test, y_test_pred_rnn)\n",
    "rpd_rnn = std_dev / rmsep_rnn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ece50876",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.2021576192950827, RMSEp=1.378862976075951, Rcal=0.978526566928567, Rval=0.9736692620965387, RPD=4.17391926599468, train_corr=0.978526566928567, test_corr=0.9736692620965387 — lr=0.003, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6749481336712793, RMSEp=1.1913116779699686, Rcal=0.9918302258412968, Rval=0.9784298155726275, RPD=4.8310302395568865, train_corr=0.9918302258412968, test_corr=0.9784298155726275 — lr=0.003, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.065732358875673, RMSEp=1.5877174878700997, Rcal=0.9824769419423331, Rval=0.9689992671085076, RPD=3.6248657490891385, train_corr=0.9824769419423331, test_corr=0.9689992671085076 — lr=0.003, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.7718880471221148, RMSEp=1.0472759669867635, Rcal=0.9890954114517609, Rval=0.9837816269867552, RPD=5.495459575539859, train_corr=0.9890954114517609, test_corr=0.9837816269867552 — lr=0.003, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "RMSEc=1.2071074749253552, RMSEp=1.5184294725428513, Rcal=0.9731752135913401, Rval=0.9678098533355249, RPD=3.79027333510069, train_corr=0.9731752135913401, test_corr=0.9678098533355249 — lr=0.003, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7323342922870255, RMSEp=0.952504391406996, Rcal=0.9902057761505146, Rval=0.9862565888691435, RPD=6.04224273707417, train_corr=0.9902057761505146, test_corr=0.9862565888691435 — lr=0.003, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.1574619124067869, RMSEp=1.5159154461831414, Rcal=0.9764439362715424, Rval=0.9657779639712053, RPD=3.796559204869311, train_corr=0.9764439362715424, test_corr=0.9657779639712053 — lr=0.003, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 33ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.5770510056925804, RMSEp=0.9243304768429874, Rcal=0.9942173948370505, Rval=0.987697815526827, RPD=6.226412398157676, train_corr=0.9942173948370505, test_corr=0.987697815526827 — lr=0.003, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.2710639975916573, RMSEp=1.49391564568446, Rcal=0.9746928945539184, Rval=0.9673349937286226, RPD=3.852468348956419, train_corr=0.9746928945539184, test_corr=0.9673349937286226 — lr=0.003, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.6256571146845903, RMSEp=1.0159548319249074, Rcal=0.9927594474003506, Rval=0.9847597448005929, RPD=5.664880524369182, train_corr=0.9927594474003506, test_corr=0.9847597448005929 — lr=0.003, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7053933234863806, RMSEp=1.1865737195797013, Rcal=0.9923165821916679, Rval=0.9791642515973458, RPD=4.850320419239319, train_corr=0.9923165821916679, test_corr=0.9791642515973458 — lr=0.003, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7124694238080408, RMSEp=1.0444984044766972, Rcal=0.9906826644621941, Rval=0.9841951495648857, RPD=5.510073271862594, train_corr=0.9906826644621941, test_corr=0.9841951495648857 — lr=0.003, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9579951418744833, RMSEp=1.2677615476539206, Rcal=0.9833209639583467, Rval=0.9755421853365968, RPD=4.539704451251643, train_corr=0.9833209639583467, test_corr=0.9755421853365968 — lr=0.003, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8229361702326525, RMSEp=1.0687646223828742, Rcal=0.9874619116300084, Rval=0.9826777114558412, RPD=5.384967485336925, train_corr=0.9874619116300084, test_corr=0.9826777114558412 — lr=0.003, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.6310334427797232, RMSEp=1.0735271209583992, Rcal=0.9945576006512614, Rval=0.9830774341449559, RPD=5.361078102872819, train_corr=0.9945576006512614, test_corr=0.9830774341449559 — lr=0.003, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6065855883725033, RMSEp=1.02496568060361, Rcal=0.9932336444216744, Rval=0.9840690875799736, RPD=5.615078484989718, train_corr=0.9932336444216744, test_corr=0.9840690875799736 — lr=0.003, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.3205937362704665, RMSEp=1.493064016146395, Rcal=0.9747343563437294, Rval=0.9668531324176157, RPD=3.854665760323213, train_corr=0.9747343563437294, test_corr=0.9668531324176157 — lr=0.003, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 43ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.7905425356438491, RMSEp=1.0183002717294918, Rcal=0.9882856571861683, Rval=0.984404676356413, RPD=5.651832667426648, train_corr=0.9882856571861683, test_corr=0.984404676356413 — lr=0.003, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6148703899552016, RMSEp=1.2142418531011503, Rcal=0.9934900833311912, Rval=0.9786509338669382, RPD=4.739799345831593, train_corr=0.9934900833311912, test_corr=0.9786509338669382 — lr=0.003, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.5852228788437573, RMSEp=0.830859938673071, Rcal=0.9940633500428869, Rval=0.9896536713754401, RPD=6.9268747632743555, train_corr=0.9940633500428869, test_corr=0.9896536713754401 — lr=0.003, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8828785955082153, RMSEp=1.3235433231459623, Rcal=0.9860123982208697, Rval=0.9762980856332506, RPD=4.348375032658811, train_corr=0.9860123982208697, test_corr=0.9762980856332506 — lr=0.003, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8409228646630891, RMSEp=1.016274553475817, Rcal=0.9867660087117116, Rval=0.9847990300869424, RPD=5.663098344169182, train_corr=0.9867660087117116, test_corr=0.9847990300869424 — lr=0.003, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8205021122195265, RMSEp=1.343846540308662, Rcal=0.9891655662651702, Rval=0.9754131438145621, RPD=4.2826785413223405, train_corr=0.9891655662651702, test_corr=0.9754131438145621 — lr=0.004, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7088259615411612, RMSEp=0.8552015604034212, Rcal=0.9914958470059841, Rval=0.9891582086932422, RPD=6.729714967188863, train_corr=0.9914958470059841, test_corr=0.9891582086932422 — lr=0.004, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0874223153219786, RMSEp=1.471531394592947, Rcal=0.9837223210867501, Rval=0.9678175515163927, RPD=3.9110703055045506, train_corr=0.9837223210867501, test_corr=0.9678175515163927 — lr=0.004, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8783782049190498, RMSEp=1.097172897003693, Rcal=0.9863999663967347, Rval=0.9818396130021944, RPD=5.245538562543259, train_corr=0.9863999663967347, test_corr=0.9818396130021944 — lr=0.004, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=1.1410837077454603, RMSEp=1.6523280877952997, Rcal=0.9769100881543241, Rval=0.9619289176091319, RPD=3.4831234689530803, train_corr=0.9769100881543241, test_corr=0.9619289176091319 — lr=0.004, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.569685748450477, RMSEp=0.975435807947977, Rcal=0.993983017463731, Rval=0.9857869897710815, RPD=5.900196295968991, train_corr=0.993983017463731, test_corr=0.9857869897710815 — lr=0.004, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7709314593679383, RMSEp=1.2174510307346849, Rcal=0.98901029301602, Rval=0.9775801368949435, RPD=4.727305325403597, train_corr=0.98901029301602, test_corr=0.9775801368949435 — lr=0.004, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6893701544394362, RMSEp=0.983135238953017, Rcal=0.9925787110665097, Rval=0.986107409273951, RPD=5.853988864379636, train_corr=0.9925787110665097, test_corr=0.986107409273951 — lr=0.004, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8891964762888519, RMSEp=1.3662653605201074, Rcal=0.9862215675752435, Rval=0.973466904962613, RPD=4.212404784103779, train_corr=0.9862215675752435, test_corr=0.973466904962613 — lr=0.004, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7841233004038001, RMSEp=0.9404382173251936, Rcal=0.9889307820074349, Rval=0.9870111836495472, RPD=6.119766971379966, train_corr=0.9889307820074349, test_corr=0.9870111836495472 — lr=0.004, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9007842379452641, RMSEp=1.401593792059518, Rcal=0.9886772903672889, Rval=0.9717943964115481, RPD=4.106227334635468, train_corr=0.9886772903672889, test_corr=0.9717943964115481 — lr=0.004, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6613707947909222, RMSEp=0.8810179401341748, Rcal=0.9928278498902273, Rval=0.9885499863651328, RPD=6.532514809101022, train_corr=0.9928278498902273, test_corr=0.9885499863651328 — lr=0.004, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.1259166396108493, RMSEp=1.606032270774609, Rcal=0.9803849836927602, Rval=0.9628134370742825, RPD=3.583528703463935, train_corr=0.9803849836927602, test_corr=0.9628134370742825 — lr=0.004, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6385192397185296, RMSEp=0.9087741555494856, Rcal=0.9923627633100697, Rval=0.9874875983343139, RPD=6.3329956137785235, train_corr=0.9923627633100697, test_corr=0.9874875983343139 — lr=0.004, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8551940001049355, RMSEp=1.269147723898955, Rcal=0.9867174895498488, Rval=0.9755697624401066, RPD=4.534746139188118, train_corr=0.9867174895498488, test_corr=0.9755697624401066 — lr=0.004, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step \n",
      "RMSEc=0.8997306576922162, RMSEp=1.0856155733434543, Rcal=0.9851252171809185, Rval=0.984434031949396, RPD=5.301381890907521, train_corr=0.9851252171809185, test_corr=0.984434031949396 — lr=0.004, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.5870043254901184, RMSEp=1.1884242554231528, Rcal=0.9935522900625582, Rval=0.9789549358028007, RPD=4.842767820285647, train_corr=0.9935522900625582, test_corr=0.9789549358028007 — lr=0.004, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7168326494239035, RMSEp=0.8673954460765436, Rcal=0.9923715680966523, Rval=0.9897348016266266, RPD=6.635108320020277, train_corr=0.9923715680966523, test_corr=0.9897348016266266 — lr=0.004, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6323565320509126, RMSEp=1.1291179182882585, Rcal=0.9926755527497352, Rval=0.9807946260004589, RPD=5.09713170590291, train_corr=0.9926755527497352, test_corr=0.9807946260004589 — lr=0.004, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 44ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.2150176058804905, RMSEp=1.49620251172546, Rcal=0.9767585210222637, Rval=0.9697303442743082, RPD=3.8465800557793837, train_corr=0.9767585210222637, test_corr=0.9697303442743082 — lr=0.004, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.9123186843810406, RMSEp=1.625833134250093, Rcal=0.9852608005319593, Rval=0.9615986687976946, RPD=3.539885256222656, train_corr=0.9852608005319593, test_corr=0.9615986687976946 — lr=0.004, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 45ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=1.1420345044600195, RMSEp=1.306788690354015, Rcal=0.9785080695548171, Rval=0.9771250174006063, RPD=4.404126530549517, train_corr=0.9785080695548171, test_corr=0.9771250174006063 — lr=0.004, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 10ms/step\n",
      "RMSEc=1.3024850435609123, RMSEp=1.6122663042904044, Rcal=0.977632369972015, Rval=0.9648253458265788, RPD=3.5696725321957268, train_corr=0.977632369972015, test_corr=0.9648253458265788 — lr=0.005, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 71ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.7593256708030983, RMSEp=1.1487951632812676, Rcal=0.9891567907897542, Rval=0.9802174145393298, RPD=5.009825010554186, train_corr=0.9891567907897542, test_corr=0.9802174145393298 — lr=0.005, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 12ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.1230052216282773, RMSEp=1.6649493739313515, Rcal=0.9761965428646311, Rval=0.9584385745215231, RPD=3.456719364037235, train_corr=0.9761965428646311, test_corr=0.9584385745215231 — lr=0.005, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9382573670384654, RMSEp=1.2823464892344643, Rcal=0.9843281691390711, Rval=0.9758099272992244, RPD=4.488071507448781, train_corr=0.9843281691390711, test_corr=0.9758099272992244 — lr=0.005, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.95409617100879, RMSEp=1.442080622963154, Rcal=0.9829269504969058, Rval=0.968721155713733, RPD=3.990943813657515, train_corr=0.9829269504969058, test_corr=0.968721155713733 — lr=0.005, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.5426936534289801, RMSEp=0.9518477534489039, Rcal=0.9945937991087327, Rval=0.9862979793665508, RPD=6.046411014951376, train_corr=0.9945937991087327, test_corr=0.9862979793665508 — lr=0.005, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9337930474630692, RMSEp=1.479869981321778, Rcal=0.9870984637421295, Rval=0.9679545878009724, RPD=3.889032694527486, train_corr=0.9870984637421295, test_corr=0.9679545878009724 — lr=0.005, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.681179163229903, RMSEp=1.01456977304806, Rcal=0.9923451920121761, Rval=0.9845012141667551, RPD=5.6726140418314515, train_corr=0.9923451920121761, test_corr=0.9845012141667551 — lr=0.005, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8001731429011557, RMSEp=1.4170432378335573, Rcal=0.9882606795471668, Rval=0.9692765175660019, RPD=4.061458808983904, train_corr=0.9882606795471668, test_corr=0.9692765175660019 — lr=0.005, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "RMSEc=0.6418598596438518, RMSEp=0.8843403003859993, Rcal=0.9922935126065281, Rval=0.9883693361624917, RPD=6.507972935868806, train_corr=0.9922935126065281, test_corr=0.9883693361624917 — lr=0.005, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.069097077112007, RMSEp=1.4628199060825737, Rcal=0.9819118893110937, Rval=0.9696238708788274, RPD=3.934361787858593, train_corr=0.9819118893110937, test_corr=0.9696238708788274 — lr=0.005, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.2173288864993228, RMSEp=1.484318786722021, Rcal=0.9725990732535446, Rval=0.9693908873256277, RPD=3.87737647228742, train_corr=0.9725990732535446, test_corr=0.9693908873256277 — lr=0.005, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7552464708438044, RMSEp=1.3132819685660888, Rcal=0.9919592922549173, Rval=0.9760962408491092, RPD=4.3823511467945275, train_corr=0.9919592922549173, test_corr=0.9760962408491092 — lr=0.005, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7138201678343992, RMSEp=0.9903774245849528, Rcal=0.9907034795880396, Rval=0.9857092215211993, RPD=5.811181271041279, train_corr=0.9907034795880396, test_corr=0.9857092215211993 — lr=0.005, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9140529447010715, RMSEp=1.3226296275348464, Rcal=0.9853073601167996, Rval=0.9734053587765141, RPD=4.351378965959648, train_corr=0.9853073601167996, test_corr=0.9734053587765141 — lr=0.005, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.8246930470787939, RMSEp=1.256061528882665, Rcal=0.9871597107401688, Rval=0.976140463124003, RPD=4.5819910957147085, train_corr=0.9871597107401688, test_corr=0.976140463124003 — lr=0.005, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8906218781870093, RMSEp=1.344154913579637, Rcal=0.9872937017797656, Rval=0.9729800267282178, RPD=4.281696017971067, train_corr=0.9872937017797656, test_corr=0.9729800267282178 — lr=0.005, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=1.0369965936761267, RMSEp=1.1139542529909723, Rcal=0.980900270739945, Rval=0.9832654600744652, RPD=5.166516242078404, train_corr=0.980900270739945, test_corr=0.9832654600744652 — lr=0.005, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.3042797757782296, RMSEp=1.6344234442059513, Rcal=0.9701615896007503, Rval=0.9590922595682639, RPD=3.521280095077345, train_corr=0.9701615896007503, test_corr=0.9590922595682639 — lr=0.005, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6613433535097378, RMSEp=1.1123926596601335, Rcal=0.9918680158031725, Rval=0.981212403787791, RPD=5.173769074284044, train_corr=0.9918680158031725, test_corr=0.981212403787791 — lr=0.005, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.844559037374091, RMSEp=1.3732039220888088, Rcal=0.9867795475467825, Rval=0.9720660609908509, RPD=4.1911202323510155, train_corr=0.9867795475467825, test_corr=0.9720660609908509 — lr=0.005, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=5.106587454712202, RMSEp=5.73823501030131, Rcal=0.21918739818584407, Rval=0.47395402655215685, RPD=1.0029674160570796, train_corr=0.21918739818584407, test_corr=0.47395402655215685 — lr=0.005, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8482763641088905, RMSEp=1.2035177232809515, Rcal=0.9896792184179684, Rval=0.9796069675872439, RPD=4.782034057064446, train_corr=0.9896792184179684, test_corr=0.9796069675872439 — lr=0.006, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 45ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7005228297369676, RMSEp=1.0215905981524562, Rcal=0.9912977730514373, Rval=0.9848433746223433, RPD=5.63362931434427, train_corr=0.9912977730514373, test_corr=0.9848433746223433 — lr=0.006, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 46ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=1.3748543065536571, RMSEp=1.6482466675441358, Rcal=0.9651225827534782, Rval=0.9584203505278382, RPD=3.491748446599582, train_corr=0.9651225827534782, test_corr=0.9584203505278382 — lr=0.006, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6336333583467131, RMSEp=1.0570148091882223, Rcal=0.9933789467678409, Rval=0.9837227090232348, RPD=5.444826970239105, train_corr=0.9933789467678409, test_corr=0.9837227090232348 — lr=0.006, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8921308804691366, RMSEp=1.5171810716421565, Rcal=0.9866271939885588, Rval=0.9660629446077627, RPD=3.793392132674599, train_corr=0.9866271939885588, test_corr=0.9660629446077627 — lr=0.006, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 43ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0464493852388967, RMSEp=1.1664221784512232, Rcal=0.9820202573063103, Rval=0.980639032038808, RPD=4.934116349409627, train_corr=0.9820202573063103, test_corr=0.980639032038808 — lr=0.006, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0424934856965382, RMSEp=1.4959631715170503, Rcal=0.9835401071584289, Rval=0.9671864738849097, RPD=3.8471954728496325, train_corr=0.9835401071584289, test_corr=0.9671864738849097 — lr=0.006, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8454188019931659, RMSEp=0.9627074358966959, Rcal=0.987114026867346, Rval=0.9861876133243588, RPD=5.9782053471411505, train_corr=0.987114026867346, test_corr=0.9861876133243588 — lr=0.006, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 43ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=0.7389643960673847, RMSEp=1.3323161013843983, Rcal=0.9899285954958081, Rval=0.9735679247599198, RPD=4.319742690964952, train_corr=0.9899285954958081, test_corr=0.9735679247599198 — lr=0.006, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 44ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7459063943270269, RMSEp=1.1048006516393922, Rcal=0.9896595757101635, Rval=0.9818526888465088, RPD=5.209322362790112, train_corr=0.9896595757101635, test_corr=0.9818526888465088 — lr=0.006, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 54ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.129066564897986, RMSEp=1.4621001683610362, Rcal=0.981811610438302, Rval=0.970329026626315, RPD=3.9362985283433933, train_corr=0.981811610438302, test_corr=0.970329026626315 — lr=0.006, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.659703160756568, RMSEp=1.3160087646968701, Rcal=0.9920905249813973, Rval=0.9736159704413301, RPD=4.373270828736344, train_corr=0.9920905249813973, test_corr=0.9736159704413301 — lr=0.006, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.2093791680434132, RMSEp=1.4957030361370507, Rcal=0.9818101625992037, Rval=0.9725431038743052, RPD=3.8478645840515777, train_corr=0.9818101625992037, test_corr=0.9725431038743052 — lr=0.006, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6238090449005529, RMSEp=0.9973054201889261, Rcal=0.9936574650566998, Rval=0.9856129802618614, RPD=5.770812656287296, train_corr=0.9936574650566998, test_corr=0.9856129802618614 — lr=0.006, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8642848465831985, RMSEp=1.320969469511896, Rcal=0.9861433291665721, Rval=0.9733126021428783, RPD=4.356847659118699, train_corr=0.9861433291665721, test_corr=0.9733126021428783 — lr=0.006, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.4474144301124234, RMSEp=1.0292008663805805, Rcal=0.996742984156232, Rval=0.9848564825958589, RPD=5.591972304930007, train_corr=0.996742984156232, test_corr=0.9848564825958589 — lr=0.006, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.637226896891133, RMSEp=1.1978026068260332, Rcal=0.9930082841816388, Rval=0.9782751099156105, RPD=4.804850739355636, train_corr=0.9930082841816388, test_corr=0.9782751099156105 — lr=0.006, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.386813915403262, RMSEp=1.7492768817465951, Rcal=0.9635809464786147, Rval=0.9538348869955088, RPD=3.290081062103636, train_corr=0.9635809464786147, test_corr=0.9538348869955088 — lr=0.006, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9457755523523929, RMSEp=1.5416313952026581, Rcal=0.9836750663605448, Rval=0.963656942556347, RPD=3.7332288113226997, train_corr=0.9836750663605448, test_corr=0.963656942556347 — lr=0.006, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=5.311727911975297, RMSEp=5.7571229951838525, Rcal=0.10430024973924258, Rval=0.5636416615277212, RPD=0.9996768778128877, train_corr=0.10430024973924258, test_corr=0.5636416615277212 — lr=0.006, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.884636260566701, RMSEp=1.5322386462331594, Rcal=0.9853115363645685, Rval=0.9651760596659602, RPD=3.7561138110951946, train_corr=0.9853115363645685, test_corr=0.9651760596659602 — lr=0.006, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.6150740610008244, RMSEp=1.060898740984638, Rcal=0.9933052574414499, Rval=0.9830601900804594, RPD=5.424893553619093, train_corr=0.9933052574414499, test_corr=0.9830601900804594 — lr=0.006, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8487450983411126, RMSEp=1.284882570207663, Rcal=0.9875036010328918, Rval=0.975362025678387, RPD=4.479213022618874, train_corr=0.9875036010328918, test_corr=0.975362025678387 — lr=0.007, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8695431325893547, RMSEp=1.1454097333904691, Rcal=0.9860118864850911, Rval=0.9800123367233494, RPD=5.02463229815091, train_corr=0.9860118864850911, test_corr=0.9800123367233494 — lr=0.007, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7084974449706835, RMSEp=1.2169580694809101, Rcal=0.9917018384497356, Rval=0.9803894387885832, RPD=4.729220246236639, train_corr=0.9917018384497356, test_corr=0.9803894387885832 — lr=0.007, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6878616407708719, RMSEp=1.0716239661529614, Rcal=0.9913233706272568, Rval=0.9830668186486571, RPD=5.370599130655015, train_corr=0.9913233706272568, test_corr=0.9830668186486571 — lr=0.007, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8135750139782318, RMSEp=1.2568295145133135, Rcal=0.9887705258569814, Rval=0.9775466785101308, RPD=4.579191270216792, train_corr=0.9887705258569814, test_corr=0.9775466785101308 — lr=0.007, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.103925543362801, RMSEp=1.3306402895547889, Rcal=0.9784643204068239, Rval=0.9745891868765769, RPD=4.325182986106481, train_corr=0.9784643204068239, test_corr=0.9745891868765769 — lr=0.007, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9662207868306927, RMSEp=1.518563997273479, Rcal=0.9825001098145203, Rval=0.9646534793517526, RPD=3.789937566901045, train_corr=0.9825001098145203, test_corr=0.9646534793517526 — lr=0.007, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8359108915809454, RMSEp=0.9883665008660845, Rcal=0.989211266084574, Rval=0.987694957637568, RPD=5.823004660687063, train_corr=0.989211266084574, test_corr=0.987694957637568 — lr=0.007, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.8474737053181273, RMSEp=1.4414163720073505, Rcal=0.9886561664949941, Rval=0.9696654625229096, RPD=3.992782968737381, train_corr=0.9886561664949941, test_corr=0.9696654625229096 — lr=0.007, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 44ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.886156613355164, RMSEp=1.063082169317333, Rcal=0.9863840520917134, Rval=0.9831948071137611, RPD=5.413751549145034, train_corr=0.9863840520917134, test_corr=0.9831948071137611 — lr=0.007, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.1445852235698397, RMSEp=1.5394647923114086, Rcal=0.9760670750833191, Rval=0.9662502666906583, RPD=3.738482860896749, train_corr=0.9760670750833191, test_corr=0.9662502666906583 — lr=0.007, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 46ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "RMSEc=0.9419661899810889, RMSEp=1.2680851596529308, Rcal=0.9833012760005954, Rval=0.9754390401866261, RPD=4.538545930610342, train_corr=0.9833012760005954, test_corr=0.9754390401866261 — lr=0.007, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9920819093151061, RMSEp=1.3770261590391464, Rcal=0.9871454039764014, Rval=0.9762904619875298, RPD=4.179486862490724, train_corr=0.9871454039764014, test_corr=0.9762904619875298 — lr=0.007, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0095717593397153, RMSEp=1.4034021805519636, Rcal=0.9844794745376897, Rval=0.9726860492979102, RPD=4.100936154129821, train_corr=0.9844794745376897, test_corr=0.9726860492979102 — lr=0.007, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7775872261434611, RMSEp=1.3753153445584878, Rcal=0.9903810291615094, Rval=0.9720547537222343, RPD=4.184685907694693, train_corr=0.9903810291615094, test_corr=0.9720547537222343 — lr=0.007, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.915739676102965, RMSEp=1.4484257698922478, Rcal=0.9846582314019926, Rval=0.9680913653739879, RPD=3.973460608504862, train_corr=0.9846582314019926, test_corr=0.9680913653739879 — lr=0.007, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9310314479200271, RMSEp=1.4913092340269327, Rcal=0.9867348388601459, Rval=0.9673182464809914, RPD=3.859201438369311, train_corr=0.9867348388601459, test_corr=0.9673182464809914 — lr=0.007, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.5237192914459038, RMSEp=0.8938464445146916, Rcal=0.9948499830259827, Rval=0.987882597315539, RPD=6.438760008868143, train_corr=0.9948499830259827, test_corr=0.987882597315539 — lr=0.007, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.8664718604480964, RMSEp=1.1859551576369614, Rcal=0.9886232675738899, Rval=0.9788224575703899, RPD=4.852850214402412, train_corr=0.9886232675738899, test_corr=0.9788224575703899 — lr=0.007, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.1996314513801971, RMSEp=1.5295746457707478, Rcal=0.9736188455627932, Rval=0.9666922001728503, RPD=3.762655687921733, train_corr=0.9736188455627932, test_corr=0.9666922001728503 — lr=0.007, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.9953218826218785, RMSEp=1.5729121486817688, Rcal=0.9824319220450572, Rval=0.9642936451885549, RPD=3.6589854975902902, train_corr=0.9824319220450572, test_corr=0.9642936451885549 — lr=0.007, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 11ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "RMSEc=1.1140588988254245, RMSEp=1.3769514700784802, Rcal=0.9765065095999664, Rval=0.9717416321482186, RPD=4.179713567306878, train_corr=0.9765065095999664, test_corr=0.9717416321482186 — lr=0.007, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.995120662466122, RMSEp=1.3112164523355683, Rcal=0.9816675441228448, Rval=0.9737350263420097, RPD=4.389254520684797, train_corr=0.9816675441228448, test_corr=0.9737350263420097 — lr=0.008, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.712797680528993, RMSEp=1.309686700127208, Rcal=0.9918281591833219, Rval=0.9761177090813946, RPD=4.394381297795247, train_corr=0.9918281591833219, test_corr=0.9761177090813946 — lr=0.008, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.5907600648968107, RMSEp=1.2761329092810985, Rcal=0.9937889428652619, Rval=0.9756674054585258, RPD=4.509924239985603, train_corr=0.9937889428652619, test_corr=0.9756674054585258 — lr=0.008, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9228029467760747, RMSEp=1.2005285465912678, Rcal=0.9840173976341705, Rval=0.9786402320477342, RPD=4.7939407666326925, train_corr=0.9840173976341705, test_corr=0.9786402320477342 — lr=0.008, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 10ms/step\n",
      "RMSEc=0.8092553394436461, RMSEp=1.5039034369917081, Rcal=0.9880616888239345, Rval=0.9665342188116415, RPD=3.826883162473886, train_corr=0.9880616888239345, test_corr=0.9665342188116415 — lr=0.008, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.54476619659196, RMSEp=1.5974796296102005, Rcal=0.9556530661273108, Rval=0.9613920935905231, RPD=3.602714322194212, train_corr=0.9556530661273108, test_corr=0.9613920935905231 — lr=0.008, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9411271260384989, RMSEp=1.6117520941169656, Rcal=0.9840714383593093, Rval=0.9602270578962432, RPD=3.570811393400623, train_corr=0.9840714383593093, test_corr=0.9602270578962432 — lr=0.008, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.614753885403859, RMSEp=0.8468803086900452, Rcal=0.9930669924902723, Rval=0.9892510313695275, RPD=6.7958396032521025, train_corr=0.9930669924902723, test_corr=0.9892510313695275 — lr=0.008, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9136637754555296, RMSEp=1.1712500605822729, Rcal=0.9860127431103686, Rval=0.979737423614613, RPD=4.913777966550554, train_corr=0.9860127431103686, test_corr=0.979737423614613 — lr=0.008, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7784532355957495, RMSEp=1.1400951611214527, Rcal=0.9892759972702041, Rval=0.9812710798296117, RPD=5.048054703915259, train_corr=0.9892759972702041, test_corr=0.9812710798296117 — lr=0.008, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.1078156051860406, RMSEp=1.5133819280014134, Rcal=0.9856667531010116, Rval=0.9693118360020346, RPD=3.802914938075565, train_corr=0.9856667531010116, test_corr=0.9693118360020346 — lr=0.008, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.5396731875060824, RMSEp=1.0662559415857016, Rcal=0.9947629840113348, Rval=0.9829189896000989, RPD=5.397637205614191, train_corr=0.9947629840113348, test_corr=0.9829189896000989 — lr=0.008, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.8729112094588333, RMSEp=1.6406141516276493, Rcal=0.9863994008471436, Rval=0.9595525121727757, RPD=3.507992866756874, train_corr=0.9863994008471436, test_corr=0.9595525121727757 — lr=0.008, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.534280256003676, RMSEp=0.998563148982999, Rcal=0.9948613160994088, Rval=0.9850918560652523, RPD=5.7635440952048995, train_corr=0.9948613160994088, test_corr=0.9850918560652523 — lr=0.008, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.1415760867650577, RMSEp=1.7271358515468587, Rcal=0.9854350015880574, Rval=0.9586878797530232, RPD=3.3322582794258144, train_corr=0.9854350015880574, test_corr=0.9586878797530232 — lr=0.008, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0795963866066467, RMSEp=1.1844927831981291, Rcal=0.9781896950316517, Rval=0.9789491119735548, RPD=4.858841541837825, train_corr=0.9781896950316517, test_corr=0.9789491119735548 — lr=0.008, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0690703880569257, RMSEp=1.4502360197469317, Rcal=0.9791435737405687, Rval=0.967971526439606, RPD=3.9685007561834493, train_corr=0.9791435737405687, test_corr=0.967971526439606 — lr=0.008, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.5339140724180975, RMSEp=1.1745084727487907, Rcal=0.9950483553400892, Rval=0.9790429528971591, RPD=4.900145783998219, train_corr=0.9950483553400892, test_corr=0.9790429528971591 — lr=0.008, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8340501879373038, RMSEp=1.2342765361162564, Rcal=0.9885875718213835, Rval=0.976851379511682, RPD=4.662863282745, train_corr=0.9885875718213835, test_corr=0.976851379511682 — lr=0.008, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.2286022961710283, RMSEp=1.3716006626957267, Rcal=0.9718982777529781, Rval=0.9735560841037819, RPD=4.196019218668831, train_corr=0.9718982777529781, test_corr=0.9735560841037819 — lr=0.008, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9228116270021876, RMSEp=1.557569515398156, Rcal=0.9849683566126529, Rval=0.9629381231025093, RPD=3.6950278521206017, train_corr=0.9849683566126529, test_corr=0.9629381231025093 — lr=0.008, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=5.1352185924740334, RMSEp=5.7719735949368, Rcal=0.11422236957214124, Rval=0.23027330723434924, RPD=0.997104828417565, train_corr=0.11422236957214124, test_corr=0.23027330723434924 — lr=0.008, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8510637397783846, RMSEp=1.3464698779380027, Rcal=0.9876375280155008, Rval=0.9735727326171814, RPD=4.2743345657489495, train_corr=0.9876375280155008, test_corr=0.9735727326171814 — lr=0.009, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.8077562027536798, RMSEp=1.3394473295320213, Rcal=0.988905606748602, Rval=0.973454526314244, RPD=4.296744346805305, train_corr=0.988905606748602, test_corr=0.973454526314244 — lr=0.009, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.819847609180696, RMSEp=1.4438447674716897, Rcal=0.9902543154248818, Rval=0.9693316517853716, RPD=3.9860675265584056, train_corr=0.9902543154248818, test_corr=0.9693316517853716 — lr=0.009, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.948995410413927, RMSEp=1.3024348190770039, Rcal=0.9847699154151717, Rval=0.9757473189172755, RPD=4.418848956363709, train_corr=0.9847699154151717, test_corr=0.9757473189172755 — lr=0.009, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9975723769036436, RMSEp=1.560084063304632, Rcal=0.9814017430129605, Rval=0.9628648956318474, RPD=3.689072195775879, train_corr=0.9814017430129605, test_corr=0.9628648956318474 — lr=0.009, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=0.6836189176034322, RMSEp=0.9300710079438789, Rcal=0.9925461650347647, Rval=0.9877720580301419, RPD=6.18798209153236, train_corr=0.9925461650347647, test_corr=0.9877720580301419 — lr=0.009, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.936640063302861, RMSEp=1.369541621537822, Rcal=0.9836855291486718, Rval=0.9713933565707217, RPD=4.202327735427086, train_corr=0.9836855291486718, test_corr=0.9713933565707217 — lr=0.009, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "RMSEc=1.0462291246907538, RMSEp=1.2491073898399652, Rcal=0.980928806677229, Rval=0.9767263373633533, RPD=4.607500354110894, train_corr=0.980928806677229, test_corr=0.9767263373633533 — lr=0.009, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0132152430912709, RMSEp=1.59492307515766, Rcal=0.9829623841200034, Rval=0.9641599914431069, RPD=3.608489231019032, train_corr=0.9829623841200034, test_corr=0.9641599914431069 — lr=0.009, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6606325664058212, RMSEp=0.9936811930548118, Rcal=0.9920885326041138, Rval=0.9850455040207948, RPD=5.791860388659597, train_corr=0.9920885326041138, test_corr=0.9850455040207948 — lr=0.009, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0736040575278358, RMSEp=1.3573377214295366, Rcal=0.9789068565476936, Rval=0.9725535690801805, RPD=4.240111101420493, train_corr=0.9789068565476936, test_corr=0.9725535690801805 — lr=0.009, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=2.4076814738647334, RMSEp=2.4510670321394055, Rcal=0.905362449318647, Rval=0.9266800355446271, RPD=2.348064196345831, train_corr=0.905362449318647, test_corr=0.9266800355446271 — lr=0.009, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.9160386594647096, RMSEp=1.5260526012999036, Rcal=0.9844764353965471, Rval=0.9643040315539665, RPD=3.7713396878376253, train_corr=0.9844764353965471, test_corr=0.9643040315539665 — lr=0.009, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=3.1513704954392394, RMSEp=3.4274010615570756, Rcal=0.8024402120263093, Rval=0.8410186960412168, RPD=1.6791915033122928, train_corr=0.8024402120263093, test_corr=0.8410186960412168 — lr=0.009, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.7589809927048866, RMSEp=1.545456683328013, Rcal=0.9899878301530034, Rval=0.9639442688940777, RPD=3.7239883867962527, train_corr=0.9899878301530034, test_corr=0.9639442688940777 — lr=0.009, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=1.079497986641443, RMSEp=1.0817086646906884, Rcal=0.9789756066634607, Rval=0.9827723297517285, RPD=5.320529389173263, train_corr=0.9789756066634607, test_corr=0.9827723297517285 — lr=0.009, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=0.9518959207168284, RMSEp=1.4507279830018358, Rcal=0.9837787705130511, Rval=0.9697320900263248, RPD=3.9671549790481233, train_corr=0.9837787705130511, test_corr=0.9697320900263248 — lr=0.009, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=1.0756014156644222, RMSEp=1.3506432249580254, Rcal=0.9789605917677753, Rval=0.9732097481005182, RPD=4.261127316719064, train_corr=0.9789605917677753, test_corr=0.9732097481005182 — lr=0.009, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=1.1416686846791544, RMSEp=1.6616395927625924, Rcal=0.9766784448758783, Rval=0.9588886863061357, RPD=3.4636047227555804, train_corr=0.9766784448758783, test_corr=0.9588886863061357 — lr=0.009, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=0.6406978694950912, RMSEp=1.1521203819992711, Rcal=0.9923595579932407, Rval=0.9799859796854037, RPD=4.9953657889665, train_corr=0.9923595579932407, test_corr=0.9799859796854037 — lr=0.009, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=1.2533313159818804, RMSEp=1.7172173430170667, Rcal=0.9746162005049368, Rval=0.9570470938015687, RPD=3.351505133822175, train_corr=0.9746162005049368, test_corr=0.9570470938015687 — lr=0.009, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=5.235761179839581, RMSEp=5.742142370419673, Rcal=0.10532519522132676, Rval=0.43869638501092545, RPD=1.0022849260335462, train_corr=0.10532519522132676, test_corr=0.43869638501092545 — lr=0.009, units=150, activation=tanh\n"
     ]
    }
   ],
   "source": [
    "# 正则化+遍历中放入相关系数\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "from tensorflow.keras import layers, models\n",
    "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n",
    "import pandas as pd\n",
    "def calculate_rmse(y_true, y_pred):\n",
    "    return np.sqrt(np.mean((y_true - y_pred) ** 2))\n",
    "\n",
    "np.random.seed(0)\n",
    "tf.random.set_seed(0)\n",
    "\n",
    "learning_rates = [0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009]\n",
    "hidden_units = [50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150]\n",
    "activations = ['relu', 'tanh']\n",
    "results = []\n",
    "\n",
    "X_train_rnn = np.expand_dims(X_train.values, axis=2)\n",
    "X_test_rnn = np.expand_dims(X_test.values, axis=2)\n",
    "X_val_rnn = np.expand_dims(X_val.values, axis=2)\n",
    "\n",
    "# 遍历不同的学习率、隐藏单元和激活函数\n",
    "for lr in learning_rates:\n",
    "    for units in hidden_units:\n",
    "        for activation in activations:\n",
    "            # 构建 RNN 模型\n",
    "            model = models.Sequential([\n",
    "                layers.SimpleRNN(units, activation=activation, input_shape=(X_train_rnn.shape[1], X_train_rnn.shape[2]), return_sequences=True),\n",
    "                layers.Dropout(0.2),\n",
    "                layers.SimpleRNN(units, activation=activation),\n",
    "                layers.Dropout(0.2),\n",
    "                layers.Dense(64, activation=activation, kernel_regularizer=tf.keras.regularizers.l2(0.01)),\n",
    "                layers.Dense(1)\n",
    "            ])\n",
    "            \n",
    "            # 调整学习率\n",
    "            optimizer = tf.keras.optimizers.Adam(learning_rate=lr)\n",
    "            \n",
    "            # 编译模型，添加MSE作为评估指标\n",
    "            model.compile(optimizer=optimizer,\n",
    "                          loss='mean_squared_error',\n",
    "                          metrics=['mean_absolute_error', 'mean_squared_error'])\n",
    "            \n",
    "            # Early Stopping callback\n",
    "            early_stopping = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True)\n",
    "            \n",
    "            # 训练模型\n",
    "            history = model.fit(X_train_rnn, y_train, epochs=100, batch_size=32, validation_data=(X_test_rnn, y_test), \n",
    "                                verbose=0, callbacks=[early_stopping])\n",
    "            \n",
    "            # 使用模型进行预测\n",
    "            rnn_y_pred_train = model.predict(X_train_rnn).flatten()\n",
    "            rnn_y_pred_test = model.predict(X_test_rnn).flatten()\n",
    "            rnn_y_pred_val = model.predict(X_val_rnn).flatten() \n",
    "            \n",
    "            # 计算 RMSEc 和 RMSEp\n",
    "            rmsec = calculate_rmse(y_train, rnn_y_pred_train)\n",
    "            rmsep = calculate_rmse(y_test, rnn_y_pred_test)\n",
    "\n",
    "            # 计算相关系数 Rcal 和 Rval\n",
    "            def calculate_r(y_true, y_pred):\n",
    "                correlation_matrix = np.corrcoef(y_true, y_pred)\n",
    "                return correlation_matrix[0, 1]\n",
    "\n",
    "            rcal = calculate_r(y_train, rnn_y_pred_train)\n",
    "            rval = calculate_r(y_test, rnn_y_pred_test)\n",
    "\n",
    "            # 计算 RPD \n",
    "            std_dev = np.std(y_test)\n",
    "            rpd = std_dev / rmsep\n",
    "            \n",
    "            train_corr = np.corrcoef(y_train, rnn_y_pred_train)[0, 1]\n",
    "            test_corr = np.corrcoef(y_test, rnn_y_pred_test)[0, 1]\n",
    "            \n",
    "            # 计算校准集预测率（pr）\n",
    "#             pr = np.mean(rnn_y_pred_val) / np.std(y_val)\n",
    "            \n",
    "            # 存储结果\n",
    "            results.append({\n",
    "                'Learning Rate': lr,\n",
    "                'Hidden Units': units,\n",
    "                'Activation': activation,\n",
    "                'RMSEc': rmsec,\n",
    "                'RMSEp': rmsep,\n",
    "                'RPD': rpd,\n",
    "                'Rcal': rcal,\n",
    "                'Rval': rval,\n",
    "#                 'PR' : pr,\n",
    "                'Train Predictions': list(rnn_y_pred_train),  # 添加训练预测值\n",
    "                'Test Predictions': list(rnn_y_pred_test),     # 添加测试预测值\n",
    "                'Val Predictions': list(rnn_y_pred_val),     # 添加校准预测值\n",
    "                'train_corr': train_corr,\n",
    "                'test_corr': test_corr\n",
    "            })\n",
    "            print(f\"RMSEc={rmsec}, RMSEp={rmsep}, Rcal={rcal}, Rval={rval}, RPD={rpd}, train_corr={train_corr}, test_corr={test_corr} — lr={lr}, units={units}, activation={activation}\")\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "496d2e32",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 403 entries, 1-1 to 13-31\n",
      "Data columns (total 2 columns):\n",
      " #   Column  Non-Null Count  Dtype  \n",
      "---  ------  --------------  -----  \n",
      " 0   番泻苷A    403 non-null    float64\n",
      " 1   番泻苷B    403 non-null    float64\n",
      "dtypes: float64(2)\n",
      "memory usage: 9.4+ KB\n",
      "None \n",
      "\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 403 entries, 1-1 to 13-31\n",
      "Data columns (total 2 columns):\n",
      " #   Column  Non-Null Count  Dtype  \n",
      "---  ------  --------------  -----  \n",
      " 0   番泻苷A    403 non-null    float64\n",
      " 1   番泻苷B    403 non-null    float64\n",
      "dtypes: float64(2)\n",
      "memory usage: 9.4+ KB\n",
      "None \n",
      "\n",
      "方法一：归一化处理：\n",
      "[[0.53 0.62 0.62 ... 0.57 0.57 0.57]\n",
      " [0.41 0.56 0.65 ... 0.48 0.48 0.48]\n",
      " [0.53 0.46 0.57 ... 0.48 0.48 0.48]\n",
      " ...\n",
      " [0.65 0.66 0.73 ... 0.4  0.4  0.4 ]\n",
      " [0.59 0.74 0.74 ... 0.42 0.42 0.42]\n",
      " [0.41 0.38 0.51 ... 0.39 0.38 0.38]]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "#预处理\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from sklearn.preprocessing import MinMaxScaler, StandardScaler\n",
    "coa = pd.read_excel(r'F:\\研究\\番泻苷在线提取数据.xlsx',sheet_name='番泻苷含量',index_col=0)\n",
    "print(coa.info(),'\\n')\n",
    "coa2=coa.dropna(axis=0)\n",
    "coa2=coa.fillna(coa.mean())\n",
    "print(coa2.info(),'\\n')\n",
    "y=coa2.iloc[:, 1]#！！！！2:B\n",
    "q1=np.quantile(y,q=0.25)\n",
    "q3=np.quantile(y,q=0.75)\n",
    "low_quantile=q1-1.5*(q3-q1)\n",
    "high_quantile=q3+1.5*(q3-q1)\n",
    "y2=[]\n",
    "for i in y:\n",
    "    if i>high_quantile:\n",
    "        i=high_quantile\n",
    "        y2.append(i)\n",
    "    elif i<low_quantile:\n",
    "        i=low_quantile\n",
    "        y2.append(i)\n",
    "    else:\n",
    "        y2.append(i)\n",
    "df_y2 = pd.DataFrame({'y2': y2})\n",
    "ins=pd.read_excel(r'F:\\研究\\番泻苷在线提取数据.xlsx',sheet_name='红外谱图',\n",
    "                                index_col=0)\n",
    "ndata1=MinMaxScaler().fit_transform(ins)# 方法一：归一化处理\n",
    "ndata1=[[round(j,2) for j in ndata1[i]] for i in range(len(ndata1))]\n",
    "ndata1=np.array(ndata1)\n",
    "print(f'方法一：归一化处理：\\n{ndata1}\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2b7269d0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        PC1       PC2       PC3       PC4       PC5       PC6       PC7  \\\n",
      "0 -6.893650 -4.674702 -2.714723  0.429766  0.129666  1.042098  0.381220   \n",
      "1 -2.849313 -4.741745 -3.880140  0.474829  0.634396  0.683389  0.354718   \n",
      "2 -2.355634 -4.294311 -2.953888  0.010335  0.361727 -0.023078  0.452154   \n",
      "3 -3.052593 -4.786786 -3.101432 -0.088207 -0.670407  1.082081  0.166567   \n",
      "4 -2.987005 -4.420528 -2.642197 -0.285260 -0.697584  0.570401  0.288029   \n",
      "\n",
      "        PC8  \n",
      "0 -0.092790  \n",
      "1 -0.072628  \n",
      "2 -0.010513  \n",
      "3 -0.126102  \n",
      "4 -0.009011  \n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "pca = PCA(n_components=8)  # 设置PCA降维到8维\n",
    "x1 = pca.fit_transform(ndata1)\n",
    "\n",
    "# 创建一个 DataFrame 来存储降维后的特征 x1，并添加特征名称\n",
    "df_x1 = pd.DataFrame(x1, columns=[f'PC{i+1}' for i in range(8)])\n",
    "print(df_x1.head())  # 打印带有特征名称的降维后的特征\n",
    "# 训练集+测试集+校准集：50+25+25\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 首先划分出训练集和临时集\n",
    "X_train, X_temp, y_train, y_temp = train_test_split(df_x1, df_y2['y2'], test_size=0.5, random_state=42)\n",
    "# 然后从临时集中划分出测试集和校准集\n",
    "X_test, X_val, y_test, y_val = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "7c1d73cb",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda3\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:200: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 14ms/step\n",
      "RMSEc=27.110201995645863, RMSEp=32.657298516901136, Rcal=0.916036752714595, Rval=0.8258474765035527, RPD=1.7678046817882582\n"
     ]
    }
   ],
   "source": [
    "#rnn——————————另外运行\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from tensorflow.keras.models import Sequential\n",
    "from tensorflow.keras.layers import Dense\n",
    "from tensorflow.keras import layers, models\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "import random\n",
    "def calculate_rmse(y_true, y_pred):#计算RMSEc，p\n",
    "    return np.sqrt(mean_squared_error(y_true, y_pred))\n",
    "def calculate_r(y_true, y_pred):# 计算相关系数RcalRval\n",
    "    correlation_matrix = np.corrcoef(y_true, y_pred)  # 计算一维数组的相关系数矩阵\n",
    "    return correlation_matrix[0, 1]  # 返回两个变量的相关系数\n",
    "std_dev = np.std(y_test)# 计算 RPD\n",
    "# 构建RNN模型\n",
    "X_train_rnn = np.expand_dims(X_train.values, axis=2)  # 将数据 reshape 成 RNN 所需的形状# 增加维度\n",
    "X_test_rnn = np.expand_dims(X_test.values, axis=2)    # 增加维度\n",
    "model = models.Sequential([\n",
    "    layers.SimpleRNN(64, activation='relu', input_shape=(X_train_rnn.shape[1], 1)),  # 这里的input_shape根据数据调整\n",
    "    layers.Dense(64, activation='relu'),\n",
    "    layers.Dense(1)  # 输出层\n",
    "])\n",
    "model.compile(optimizer='adam',\n",
    "              loss='mean_squared_error',\n",
    "              metrics=['mean_absolute_error'])# 编译模型\n",
    "\n",
    "# Early Stopping callback\n",
    "early_stopping = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True)\n",
    "            \n",
    "            # 训练模型\n",
    "history = model.fit(X_train_rnn, y_train, epochs=100, batch_size=32, validation_data=(X_test_rnn, y_test), \n",
    "                                verbose=0, callbacks=[early_stopping])\n",
    "\n",
    "y_train_pred_rnn = model.predict(X_train_rnn)  # 对训练数据进行预测\n",
    "y_test_pred_rnn = model.predict(X_test_rnn)    # 对测试数据进行预测\n",
    "y_train_pred_rnn = y_train_pred_rnn.flatten()  # 转换为一维数组# 如果预测结果是二维的，需要将其转换为一维数组\n",
    "y_test_pred_rnn = y_test_pred_rnn.flatten()    # 转换为一维数组\n",
    "rmsec = calculate_rmse(y_train, y_train_pred_rnn)\n",
    "rmsep = calculate_rmse(y_test, y_test_pred_rnn)\n",
    "rcal = calculate_r(y_train, y_train_pred_rnn)\n",
    "rval = calculate_r(y_test, y_test_pred_rnn)\n",
    "rpd = std_dev / rmsep\n",
    "\n",
    "print(f\"RMSEc={rmsec}, RMSEp={rmsep}, Rcal={rcal}, Rval={rval}, RPD={rpd}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "9ad81010-8e91-4299-9072-25fc35ae5fc0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 69ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 12ms/step\n",
      "LSTM模型评估结果：\n",
      "训练集RMSE: 39.4347 | 测试集RMSE: 39.0038\n",
      "训练集R: 0.8198 | 测试集R: 0.7375\n",
      "RPD: 1.48\n"
     ]
    }
   ],
   "source": [
    "# ... 保持预处理和PCA部分不变 ...\n",
    "\n",
    "# 构建LSTM模型所需的3D输入数据 [样本数, 时间步长, 特征数]\n",
    "X_train_lstm = np.expand_dims(X_train.values, axis=2)  # 转换为 (n_samples, 8, 1)\n",
    "X_test_lstm = np.expand_dims(X_test.values, axis=2)\n",
    "\n",
    "# 定义LSTM模型结构\n",
    "def build_lstm_model(input_shape):\n",
    "    model = Sequential([\n",
    "        layers.LSTM(128, activation='relu', return_sequences=True, input_shape=input_shape),\n",
    "        layers.LSTM(64, activation='relu'),\n",
    "        layers.Dense(32, activation='relu'),\n",
    "        layers.Dense(1)\n",
    "    ])\n",
    "    model.compile(optimizer='adam', loss='mse', metrics=['mae'])\n",
    "    return model\n",
    "\n",
    "# 初始化模型（关键修正点）\n",
    "lstm_model = build_lstm_model(input_shape=X_train_lstm.shape[1:])  # 正确获取形状 (8, 1)\n",
    "\n",
    "# Early Stopping回调\n",
    "early_stopping = tf.keras.callbacks.EarlyStopping(\n",
    "    monitor='val_loss', \n",
    "    patience=10,\n",
    "    restore_best_weights=True\n",
    ")\n",
    "\n",
    "# 训练模型\n",
    "history = lstm_model.fit(\n",
    "    X_train_lstm, y_train,\n",
    "    epochs=100,\n",
    "    batch_size=32,\n",
    "    validation_data=(X_test_lstm, y_test),\n",
    "    verbose=0,\n",
    "    callbacks=[early_stopping]\n",
    ")\n",
    "\n",
    "# 预测和评估\n",
    "y_train_pred = lstm_model.predict(X_train_lstm).flatten()\n",
    "y_test_pred = lstm_model.predict(X_test_lstm).flatten()\n",
    "\n",
    "# 计算评估指标\n",
    "rmsec = calculate_rmse(y_train, y_train_pred)\n",
    "rmsep = calculate_rmse(y_test, y_test_pred)\n",
    "rcal = calculate_r(y_train, y_train_pred)\n",
    "rval = calculate_r(y_test, y_test_pred)\n",
    "std_dev = np.std(y_test)\n",
    "rpd = std_dev / rmsep\n",
    "\n",
    "print(\"LSTM模型评估结果：\")\n",
    "print(f\"训练集RMSE: {rmsec:.4f} | 测试集RMSE: {rmsep:.4f}\")\n",
    "print(f\"训练集R: {rcal:.4f} | 测试集R: {rval:.4f}\")\n",
    "print(f\"RPD: {rpd:.2f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ee87472b-375f-4898-8108-7014f6aa0c43",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda3\\Lib\\site-packages\\keras\\src\\layers\\convolutional\\base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n",
      "D:\\Anaconda3\\Lib\\site-packages\\keras\\src\\layers\\activations\\leaky_relu.py:41: UserWarning: Argument `alpha` is deprecated. Use `negative_slope` instead.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"sequential_10\"</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1mModel: \"sequential_10\"\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓\n",
       "┃<span style=\"font-weight: bold\"> Layer (type)                         </span>┃<span style=\"font-weight: bold\"> Output Shape                </span>┃<span style=\"font-weight: bold\">         Param # </span>┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩\n",
       "│ conv1d_5 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv1D</span>)                    │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">8</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">256</span>)              │           <span style=\"color: #00af00; text-decoration-color: #00af00\">1,024</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ batch_normalization_4                │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">8</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">256</span>)              │           <span style=\"color: #00af00; text-decoration-color: #00af00\">1,024</span> │\n",
       "│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">BatchNormalization</span>)                 │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ leaky_re_lu_4 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">LeakyReLU</span>)            │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">8</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">256</span>)              │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ average_pooling1d_4                  │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">4</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">256</span>)              │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">AveragePooling1D</span>)                   │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_6 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)                  │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">4</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">256</span>)              │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ conv1d_6 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv1D</span>)                    │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">4</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)              │          <span style=\"color: #00af00; text-decoration-color: #00af00\">98,432</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ batch_normalization_5                │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">4</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)              │             <span style=\"color: #00af00; text-decoration-color: #00af00\">512</span> │\n",
       "│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">BatchNormalization</span>)                 │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ leaky_re_lu_5 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">LeakyReLU</span>)            │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">4</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)              │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ average_pooling1d_5                  │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">2</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)              │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">AveragePooling1D</span>)                   │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_7 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)                  │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">2</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)              │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ lstm_14 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">LSTM</span>)                       │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">2</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)               │          <span style=\"color: #00af00; text-decoration-color: #00af00\">49,408</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ lstm_15 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">LSTM</span>)                       │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)                  │          <span style=\"color: #00af00; text-decoration-color: #00af00\">33,024</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense_20 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                     │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>)                  │           <span style=\"color: #00af00; text-decoration-color: #00af00\">2,080</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_8 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)                  │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>)                  │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense_21 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                     │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>)                   │              <span style=\"color: #00af00; text-decoration-color: #00af00\">33</span> │\n",
       "└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘\n",
       "</pre>\n"
      ],
      "text/plain": [
       "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓\n",
       "┃\u001b[1m \u001b[0m\u001b[1mLayer (type)                        \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape               \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m        Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩\n",
       "│ conv1d_5 (\u001b[38;5;33mConv1D\u001b[0m)                    │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m8\u001b[0m, \u001b[38;5;34m256\u001b[0m)              │           \u001b[38;5;34m1,024\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ batch_normalization_4                │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m8\u001b[0m, \u001b[38;5;34m256\u001b[0m)              │           \u001b[38;5;34m1,024\u001b[0m │\n",
       "│ (\u001b[38;5;33mBatchNormalization\u001b[0m)                 │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ leaky_re_lu_4 (\u001b[38;5;33mLeakyReLU\u001b[0m)            │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m8\u001b[0m, \u001b[38;5;34m256\u001b[0m)              │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ average_pooling1d_4                  │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m4\u001b[0m, \u001b[38;5;34m256\u001b[0m)              │               \u001b[38;5;34m0\u001b[0m │\n",
       "│ (\u001b[38;5;33mAveragePooling1D\u001b[0m)                   │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_6 (\u001b[38;5;33mDropout\u001b[0m)                  │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m4\u001b[0m, \u001b[38;5;34m256\u001b[0m)              │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ conv1d_6 (\u001b[38;5;33mConv1D\u001b[0m)                    │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m4\u001b[0m, \u001b[38;5;34m128\u001b[0m)              │          \u001b[38;5;34m98,432\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ batch_normalization_5                │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m4\u001b[0m, \u001b[38;5;34m128\u001b[0m)              │             \u001b[38;5;34m512\u001b[0m │\n",
       "│ (\u001b[38;5;33mBatchNormalization\u001b[0m)                 │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ leaky_re_lu_5 (\u001b[38;5;33mLeakyReLU\u001b[0m)            │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m4\u001b[0m, \u001b[38;5;34m128\u001b[0m)              │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ average_pooling1d_5                  │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2\u001b[0m, \u001b[38;5;34m128\u001b[0m)              │               \u001b[38;5;34m0\u001b[0m │\n",
       "│ (\u001b[38;5;33mAveragePooling1D\u001b[0m)                   │                             │                 │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_7 (\u001b[38;5;33mDropout\u001b[0m)                  │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2\u001b[0m, \u001b[38;5;34m128\u001b[0m)              │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ lstm_14 (\u001b[38;5;33mLSTM\u001b[0m)                       │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2\u001b[0m, \u001b[38;5;34m64\u001b[0m)               │          \u001b[38;5;34m49,408\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ lstm_15 (\u001b[38;5;33mLSTM\u001b[0m)                       │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m)                  │          \u001b[38;5;34m33,024\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense_20 (\u001b[38;5;33mDense\u001b[0m)                     │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m)                  │           \u001b[38;5;34m2,080\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dropout_8 (\u001b[38;5;33mDropout\u001b[0m)                  │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m)                  │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense_21 (\u001b[38;5;33mDense\u001b[0m)                     │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m)                   │              \u001b[38;5;34m33\u001b[0m │\n",
       "└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">185,537</span> (724.75 KB)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m185,537\u001b[0m (724.75 KB)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">184,769</span> (721.75 KB)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m184,769\u001b[0m (721.75 KB)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">768</span> (3.00 KB)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m768\u001b[0m (3.00 KB)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 102ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 11ms/step\n",
      "RMSEc (校正均方根误差): 6.7477\n",
      "RMSEp (预测均方根误差): 11.4642\n",
      "Rcal (校正集相关系数): 0.9951\n",
      "Rval (验证集相关系数): 0.9802\n",
      "RPD (相对预测偏差): 5.04\n"
     ]
    },
    {
     "data": {
      "image/png": "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RteuXQ1vb2/zMzo/35NPPuny+uTkZEOSMWfOHJfjixcvNiQZb775pmEYhrFv3z7D29vbuP322+vsS0FBgREZGWlcd911LsfLy8uNCy64wLj00kvNYyEhIUZSUlKd5/r+++8NScZnn312ys9fm+q/kaeeesqIjY01SktLjaysLMPf399YsGCBkZmZaUgynnrqKfN1t956q+Hv728cPHjQ5XxXX321ERQUZOTk5BiGUfWdX3PNNS7t/vnPfxqSjHXr1rn0pWPHji7tgoODjUmTJtXod0Pf/4orrqhxDnf+FgEA7sewfABAqxcREaGrrrqqxvF9+/Zp4sSJio2Nlbe3t3x9fTV06FBJqtdq8hdeeKE6dOhgPg4ICFC3bt1cqtV1sVgsuu6661yO9evXz+W1q1atUmhoaI3F/G677bbTnr+6W265Rb6+vgoKCtIVV1yh8vJyffLJJ+rXr59LuxtvvNHlsXP0wl133eVy/Oabb1ZwcLA5nH7ZsmUqLy/XfffdV2cf1q5dqxMnTmjSpEkqKysz/yoqKjRmzBht2rTJnA5x6aWXasGCBXr22We1fv16lZaWupyra9euioiI0COPPKLXX39dO3fubND34fSb3/xGx44d05dffqkPPvhAfn5+uvnmm2ttu2LFCg0fPlzx8fEux++66y4VFhbWWNxx3LhxLo+d33V9fhuN8f4n/1ueSnP+FgEA7sOwfABAq9euXbsax/Lz83X55ZcrICBAzz77rLp166agoCAdOnRI48ePV1FR0WnPGxUVVeOYv79/vV4bFBSkgICAGq8tLi42H2dlZSkmJqbGa2s7diovvPCCrrrqKnl7e6tNmzY1AqLTyd9TVlaWfHx8agzft1gsio2NNYfJZ2ZmStIpFx08duyYJOmmm26qs82JEycUHBysxYsX69lnn9U//vEPPfHEEwoJCdGvf/1rzZkzR7GxsbJarVq1apWee+45PfbYY8rOzla7du00ZcoU/fGPf5Svr+/pvxRJHTt21PDhw/X2229r//79uvXWWxUUFKTCwsIabbOysmr9HcXFxZnPV3fyb8M5faE+v43aNPT9a2tbl+b8LQIA3IdwDwBo9Wrbo37FihU6evSoVq5caVbrJdW6UJy7REVFaePGjTWO1zV3ui5dunTRgAEDTtvu5O8pKipKZWVlyszMdAn4hmEoPT1dl1xyiaSqufuHDx+u88JBmzZtJEmvvvpqnSu2O4NimzZt9PLLL+vll1/WwYMH9Z///EePPvqoMjIylJycLEnq27evFi1aJMMw9OOPP2rBggV65plnFBgYqEcfffS0n9Xp7rvv1h133KGKigq99tprdbaLiopSWlpajeNHjx51+XxNpaHvX9tv/mzfvzF+iwAA92FYPgDAIznDj7Oi6vTGG2+4ozu1Gjp0qPLy8vTll1+6HF+0aFGzvL9zgbv333/f5fi//vUvFRQUmM+PGjVK3t7epwzHQ4YMUXh4uHbu3KkBAwbU+ufn51fjdR06dND999+vkSNHasuWLTWet1gsuuCCCzR37lyFh4fX2uZUfv3rX+vXv/617r777lNuEzd8+HDzglB17733noKCghpti7m6Rn401/vXxd2/RQDA2aNyDwDwSIMHD1ZERITuvfdePfXUU/L19dUHH3ygrVu3urtrpkmTJmnu3Lm644479Oyzz6pr16768ssv9dVXX0mSuep/Uxk5cqRGjx6tRx55RLm5uRoyZIi5Wv5FF12kxMRESY5tAR977DH96U9/UlFRkW677TZZrVbt3LlTx48f19NPP62QkBC9+uqrmjRpkk6cOKGbbrpJ0dHRyszM1NatW5WZmanXXntNNptNV155pSZOnKgePXooNDRUmzZtUnJyssaPHy9J+t///qe///3vuuGGG9SlSxcZhqFPP/1UOTk5GjlyZIM+Y0BAgD755JPTtnvqqaf0v//9T1deeaWefPJJRUZG6oMPPtDnn3+uOXPmyGq1NvwLrkXfvn21cuVK/fe//1W7du0UGhqq7t27N9v718Xdv0UAwNkj3AMAPFJUVJQ+//xzTZ8+XXfccYeCg4N1/fXXa/Hixbr44ovd3T1JUnBwsFasWKGkpCTNmDFDFotFo0aN0t///nddc801Cg8Pb9L3t1gs+uyzzzRr1iy98847eu6559SmTRslJiZq9uzZLqMennnmGSUkJOjVV1/V7bffLh8fHyUkJOjBBx8029xxxx3q0KGD5syZo6lTpyovL0/R0dG68MILzUX7AgICNHDgQC1cuFD79+9XaWmpOnTooEceecTc7i0hIUHh4eGaM2eOjh49Kj8/P3Xv3l0LFizQpEmTmuS76N69u9auXavHHntM9913n4qKitSzZ0+98847NRYcPBt//etfdd999+nWW29V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SStXrtSll16q4OBghYeHa8iQITpw4MBZ9ac1oXIPAAAAAPVUVFquXk9+5Zb33vnMaAX5NU6Ee+SRR/Tiiy/qnXfekb+/v4qLi9W/f3898sgjCgsL0+eff67ExER16dJFAwcOrPM8L774ov70pz/pscce0yeffKL/+7//0xVXXKEePXo0uE9HjhzRNddco7vuukvvvfeedu/erSlTpiggIECzZs1SWlqabrvtNs2ZM0e//vWvlZeXp2+//VaGYaisrEw33HCDpkyZoo8++kglJSXauHHjaacoeBLCPQAAAACcY5KSkjR+/HiXYw8//LB5/4EHHlBycrI+/vjjU4b7a665RtOmTZPkuGAwd+5crVy58ozC/d///nfFx8dr3rx5slgs6tGjh44ePapHHnlETz75pNLS0lRWVqbx48erY8eOkqS+fftKkk6cOCGbzaaxY8fq/PPPl+TYEv1cQrj3IOUVhlb9lKG84jJd27edfLyZdQEAAAA0pkBfb+18ZrTb3ruxDBgwwOVxeXm5/vznP2vx4sU6cuSI7Ha77Ha7goODT3mefv36mfedw/8zMjLOqE+7du3SoEGDXKrtQ4YMUX5+vg4fPqwLLrhAw4cPV9++fTV69GiNGjVKN910kyIiIhQZGam77rpLo0eP1siRIzVixAhNmDBB7dq1O6O+tEakPw9iGIbuXvC9frcoRbaiUnd3BwAAAPA4FotFQX4+bvlrzCHmJ4f2F198UXPnztWMGTO0YsUKpaSkaPTo0SopKTnleU5eiM9isaiiouKM+mQYRo3P6FxnwGKxyNvbW8uWLdOXX36pXr166dVXX1X37t2VmpoqSXrnnXe0bt06DR48WIsXL1a3bt20fv36M+pLa0S49yA+3l4K8nNczcsrLjtNawAAAABw+Pbbb3X99dfrjjvu0AUXXKAuXbpo7969zdqHXr16ae3atS4LB65du1ahoaE677zzJDlC/pAhQ/T000/rhx9+kJ+fn5YsWWK2v+iiizRz5kytXbtWffr00Ycfftisn8GdGJbvYUIDfFRYUk64BwAAAFBvXbt21b/+9S+tXbtWEREReumll5Sent4k89ZtNptSUlJcjkVGRmratGl6+eWX9cADD+j+++/Xnj179NRTT+mhhx6Sl5eXNmzYoK+//lqjRo1SdHS0NmzYoMzMTPXs2VOpqal68803NW7cOMXFxWnPnj366aefdOeddzZ6/1sqwr2HCQ3w1bFcu/KKGZYPAAAAoH6eeOIJpaamavTo0QoKCtI999yjG264QTabrdHfa+XKlbroootcjk2aNEkLFizQF198oT/84Q+64IILFBkZqcmTJ+uPf/yjJCksLEyrV6/Wyy+/rNzcXHXs2FEvvviirr76ah07dky7d+/Wu+++q6ysLLVr107333+/pk6d2uj9b6ksRn03SzzH5ebmymq1ymazKSwszN3dqdOv//6dfjiYo9fv6K8xfWLd3R0AAACg1SouLlZqaqo6d+6sgIAAd3cHHupUv7OG5FDm3HuY0ADHghZU7gEAAADg3EG49zChAY6ZFsy5BwAAAIBzB+Hew4QR7gEAAADgnEO49zDOYfn5doblAwAAAMC5gnDvYUL9qdwDAAAAwLmGcO9hmHMPAAAAAOcewr2HcQ7Lz2W1fAAAAAA4ZxDuPQyVewAAAAA49xDuPQz73AMAAADAuYdw72Go3AMAAABoDMOGDVNSUpL5uFOnTnr55ZdP+RqLxaLPPvvsrN+7sc5zLiHce5gws3JPuAcAAADORdddd51GjBhR63Pr1q2TxWLRli1bGnzeTZs26Z577jnb7rmYNWuWLrzwwhrH09LSdPXVVzfqe51swYIFCg8Pb9L3aE6Eew/jrNwXlZartLzCzb0BAAAA0NwmT56sFStW6MCBAzWee/vtt3XhhRfq4osvbvB527Ztq6CgoMbo4mnFxsbK39+/Wd7LUxDuPUxIZbiXpHyq9wAAAEDjMgyppMA9f4ZRry6OHTtW0dHRWrBggcvxwsJCLV68WJMnT1ZWVpZuu+02tW/fXkFBQerbt68++uijU5735GH5e/fu1RVXXKGAgAD16tVLy5Ytq/GaRx55RN26dVNQUJC6dOmiJ554QqWljvXBFixYoKefflpbt26VxWKRxWIx+3zysPxt27bpqquuUmBgoKKionTPPfcoPz/ffP6uu+7SDTfcoP/3//6f2rVrp6ioKN13333me52JgwcP6vrrr1dISIjCwsI0YcIEHTt2zHx+69atuvLKKxUaGqqwsDD1799f33//vSTpwIEDuu666xQREaHg4GD17t1bX3zxxRn3pT58Tt8ErYmvt5cCfb1VVFquvOIyRQT7ubtLAAAAgOcoLZRmx7nnvR87KvkFn7aZj4+P7rzzTi1YsEBPPvmkLBaLJOnjjz9WSUmJbr/9dhUWFqp///565JFHFBYWps8//1yJiYnq0qWLBg4ceNr3qKio0Pjx49WmTRutX79eubm5LvPznUJDQ7VgwQLFxcVp27ZtmjJlikJDQzVjxgzdcsst2r59u5KTk7V8+XJJktVqrXGOwsJCjRkzRpdddpk2bdqkjIwM/fa3v9X999/vcgHjm2++Ubt27fTNN9/o559/1i233KILL7xQU6ZMOe3nOZlhGLrhhhsUHBysVatWqaysTNOmTdMtt9yilStXSpJuv/12XXTRRXrttdfk7e2tlJQU+fo6pknfd999Kikp0erVqxUcHKydO3cqJCSkwf1oCMK9BwoN8FFRaTl73QMAAADnqLvvvlt/+ctftHLlSl155ZWSHEPyx48fr4iICEVEROjhhx822z/wwANKTk7Wxx9/XK9wv3z5cu3atUv79+9X+/btJUmzZ8+uMU/+j3/8o3m/U6dOmj59uhYvXqwZM2YoMDBQISEh8vHxUWxsbJ3v9cEHH6ioqEjvvfeegoMdFzfmzZun6667Ti+88IJiYmIkSREREZo3b568vb3Vo0cPXXvttfr666/PKNwvX75cP/74o1JTUxUfHy9JWrhwoXr37q1Nmzbpkksu0cGDB/WHP/xBPXr0kCQlJCSYrz948KBuvPFG9e3bV5LUpUuXBvehoQj3Hig0wEcZeXYW1QMAAAAam2+Qo4Lurveupx49emjw4MF6++23deWVV+qXX37Rt99+q6VLl0qSysvL9ec//1mLFy/WkSNHZLfbZbfbzfB8Ort27VKHDh3MYC9JgwYNqtHuk08+0csvv6yff/5Z+fn5KisrU1hYWL0/h/O9LrjgApe+DRkyRBUVFdqzZ48Z7nv37i1vb2+zTbt27bRt27YGvVf194yPjzeDvST16tVL4eHh2rVrly655BI99NBD+u1vf6uFCxdqxIgRuvnmm3X++edLkh588EH93//9n5YuXaoRI0boxhtvVL9+/c6oL/XFnHsPxF73AAAAQBOxWBxD493xVzm8vr4mT56sf/3rX8rNzdU777yjjh07avjw4ZKkF198UXPnztWMGTO0YsUKpaSkaPTo0SopKanXuY1a5v9bTurf+vXrdeutt+rqq6/W//73P/3www96/PHH6/0e1d/r5HPX9p7OIfHVn6uoOLNFxut6z+rHZ82apR07dujaa6/VihUr1KtXLy1ZskSS9Nvf/lb79u1TYmKitm3bpgEDBujVV189o77UF+HeAzlXzM+3U7kHAAAAzlUTJkyQt7e3PvzwQ7377rv6zW9+YwbTb7/9Vtdff73uuOMOXXDBBerSpYv27t1b73P36tVLBw8e1NGjVaMY1q1b59Lmu+++U8eOHfX4449rwIABSkhIqLGCv5+fn8rLy0/7XikpKSooKHA5t5eXl7p161bvPjeE8/MdOnTIPLZz507ZbDb17NnTPNatWzf9/ve/19KlSzV+/Hi988475nPx8fG699579emnn2r69OmaP39+k/TViXDvgdjrHgAAAEBISIhuueUWPfbYYzp69Kjuuusu87muXbtq2bJlWrt2rXbt2qWpU6cqPT293uceMWKEunfvrjvvvFNbt27Vt99+q8cff9ylTdeuXXXw4EEtWrRIv/zyi1555RWzsu3UqVMnpaamKiUlRcePH5fdbq/xXrfffrsCAgI0adIkbd++Xd98840eeOABJSYmmkPyz1R5eblSUlJc/nbu3KkRI0aoX79+uv3227VlyxZt3LhRd955p4YOHaoBAwaoqKhI999/v1auXKkDBw7ou+++06ZNm8zgn5SUpK+++kqpqanasmWLVqxY4XJRoCkQ7j2Qs3LPsHwAAADg3DZ58mRlZ2drxIgR6tChg3n8iSee0MUXX6zRo0dr2LBhio2N1Q033FDv83p5eWnJkiWy2+269NJL9dvf/lbPPfecS5vrr79ev//973X//ffrwgsv1Nq1a/XEE0+4tLnxxhs1ZswYXXnllWrbtm2t2/EFBQXpq6++0okTJ3TJJZfopptu0vDhwzVv3ryGfRm1yM/P10UXXeTyd80115hb8UVEROiKK67QiBEj1KVLFy1evFiS5O3traysLN15553q1q2bJkyYoKuvvlpPP/20JMdFg/vuu089e/bUmDFj1L17d/39738/6/6eisWobbIEasjNzZXVapXNZmvwAhDN7bnPd2r+t6maekUXzbymaa8OAQAAAJ6quLhYqamp6ty5swICAtzdHXioU/3OGpJDqdx7oBB/x7D8XIblAwAAAMA5gXDvgRiWDwAAAADnFsK9B6oK91TuAQAAAOBcQLj3QOxzDwAAAADnFsK9Bwqjcg8AAAA0GtYgR1NqrN8X4d4DBfs7wn1hSbmb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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import time\n",
    "import pandas as pd\n",
    "from sklearn.decomposition import PCA\n",
    "from tensorflow.keras.models import Sequential\n",
    "from tensorflow.keras.layers import Dense, Conv1D, LSTM, BatchNormalization, LeakyReLU, AveragePooling1D, Dropout\n",
    "from tensorflow.keras.optimizers import Adam\n",
    "from tensorflow.keras.callbacks import EarlyStopping\n",
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "from scipy.stats import pearsonr\n",
    "import numpy as np\n",
    "import pywt\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# ... 保持预处理和PCA部分不变 ...\n",
    "\n",
    "# 调整数据维度适应Conv1D+LSTM结构\n",
    "X_train_aclstm = X_train.values.reshape(-1, 8, 1)  # 转换为(n_samples, 8, 1)\n",
    "X_test_aclstm = X_test.values.reshape(-1, 8, 1)\n",
    "\n",
    "# 构建AC-LSTM模型\n",
    "def build_aclstm_model(input_shape):\n",
    "    model = Sequential([\n",
    "        # 第一卷积块\n",
    "        Conv1D(filters=256, kernel_size=3, padding='same', input_shape=input_shape),\n",
    "        BatchNormalization(),\n",
    "        LeakyReLU(alpha=0.01),\n",
    "        AveragePooling1D(pool_size=2, padding='same'),  # 输出形状: (None, 4, 256)\n",
    "        Dropout(0.2),\n",
    "        \n",
    "        # 第二卷积块\n",
    "        Conv1D(filters=128, kernel_size=3, padding='same'),\n",
    "        BatchNormalization(),\n",
    "        LeakyReLU(alpha=0.01),\n",
    "        AveragePooling1D(pool_size=2, padding='same'),  # 输出形状: (None, 2, 128)\n",
    "        Dropout(0.2),\n",
    "        \n",
    "        # LSTM模块\n",
    "        LSTM(64, return_sequences=True),  # 输出形状: (None, 2, 64)\n",
    "        LSTM(64),                         # 输出形状: (None, 64)\n",
    "        \n",
    "        # 全连接层\n",
    "        Dense(32, activation='relu'),\n",
    "        Dropout(0.3),\n",
    "        Dense(1)\n",
    "    ])\n",
    "    \n",
    "    # 使用自适应学习率优化器\n",
    "    optimizer = Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999)\n",
    "    model.compile(optimizer=optimizer, loss='mse', metrics=['mae'])\n",
    "    return model\n",
    "\n",
    "# 初始化模型\n",
    "aclstm_model = build_aclstm_model(input_shape=(8, 1))\n",
    "\n",
    "# 打印模型结构\n",
    "aclstm_model.summary()\n",
    "\n",
    "# 配置回调函数\n",
    "early_stopping = tf.keras.callbacks.EarlyStopping(\n",
    "    monitor='val_loss',\n",
    "    patience=100,\n",
    "    restore_best_weights=True\n",
    ")\n",
    "\n",
    "# 训练模型\n",
    "history = aclstm_model.fit(\n",
    "    X_train_aclstm, y_train,\n",
    "    epochs=1000,\n",
    "    batch_size=10,\n",
    "    validation_data=(X_test_aclstm, y_test),\n",
    "    verbose=0,\n",
    "    callbacks=[early_stopping]\n",
    ")\n",
    "\n",
    "# 模型预测\n",
    "y_train_pred = aclstm_model.predict(X_train_aclstm).flatten()\n",
    "y_test_pred = aclstm_model.predict(X_test_aclstm).flatten()\n",
    "\n",
    "# 计算评估指标\n",
    "rmsec = np.sqrt(mean_squared_error(y_train, y_train_pred))  # 校正集RMSE\n",
    "rmsep = np.sqrt(mean_squared_error(y_test, y_test_pred))    # 验证集RMSE\n",
    "r_cal = np.corrcoef(y_train, y_train_pred)[0, 1]            # 校正集相关系数\n",
    "r_val = np.corrcoef(y_test, y_test_pred)[0, 1]              # 验证集相关系数\n",
    "RPD = np.std(y_test) / rmsep                                # 相对预测偏差\n",
    "\n",
    "# 格式化输出评估结果\n",
    "print(\"RMSEc (校正均方根误差):\", round(rmsec, 4))\n",
    "print(\"RMSEp (预测均方根误差):\", round(rmsep, 4)) \n",
    "print(\"Rcal (校正集相关系数):\", round(r_cal, 4))\n",
    "print(\"Rval (验证集相关系数):\", round(r_val, 4))\n",
    "print(\"RPD (相对预测偏差):\", round(RPD, 2))\n",
    "\n",
    "# 保留原有的可视化部分\n",
    "plt.figure(figsize=(12, 6))\n",
    "plt.plot(history.history['loss'], label='Train Loss')\n",
    "plt.plot(history.history['val_loss'], label='Validation Loss')\n",
    "plt.title('Training Process Monitoring')\n",
    "plt.xlabel('Epochs')\n",
    "plt.ylabel('MSE Loss')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "88eafe2f",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 46ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=20.257803156340167, RMSEp=23.756627536040757, Rcal=0.9541829440420766, Rval=0.9116398475906254, RPD=2.4301313444069788, train_corr=0.9541829440420766, test_corr=0.9116398475906254 — lr=0.003, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=37.69898560659225, RMSEp=32.03813522143669, Rcal=0.8928281026392687, Rval=0.8643748451483286, RPD=1.8019689602316906, train_corr=0.8928281026392687, test_corr=0.8643748451483286 — lr=0.003, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.158182993588806, RMSEp=22.438407059433498, Rcal=0.967560645060177, Rval=0.9215393162502641, RPD=2.572897668707866, train_corr=0.967560645060177, test_corr=0.9215393162502641 — lr=0.003, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 45ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=49.493618907611506, RMSEp=42.441920918821495, Rcal=0.716057834205656, Rval=0.6948267636119084, RPD=1.3602524099500075, train_corr=0.716057834205656, test_corr=0.6948267636119084 — lr=0.003, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=10.10284615430868, RMSEp=21.683492496497948, Rcal=0.9892257470320971, Rval=0.9272110557869098, RPD=2.6624735485788875, train_corr=0.9892257470320971, test_corr=0.9272110557869098 — lr=0.003, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 129ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "RMSEc=36.83688440750603, RMSEp=32.67835561001463, Rcal=0.9035912426406895, Rval=0.8675005875570176, RPD=1.7666655538518614, train_corr=0.9035912426406895, test_corr=0.8675005875570176 — lr=0.003, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=18.78102698925165, RMSEp=27.11564059448786, Rcal=0.9604277803982989, Rval=0.8859345117261942, RPD=2.129093170842161, train_corr=0.9604277803982989, test_corr=0.8859345117261942 — lr=0.003, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=58.637941951189646, RMSEp=49.58002635286296, Rcal=0.6714208446508458, Rval=0.6587180629781797, RPD=1.1644149763426033, train_corr=0.6714208446508458, test_corr=0.6587180629781797 — lr=0.003, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=19.59772331087216, RMSEp=24.992250070290304, Rcal=0.9576785601485013, Rval=0.9032175974680459, RPD=2.3099850973947933, train_corr=0.9576785601485013, test_corr=0.9032175974680459 — lr=0.003, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=59.66654725837441, RMSEp=50.694140804779195, Rcal=0.6482705544237705, Rval=0.6051472628406409, RPD=1.1388244143451765, train_corr=0.6482705544237705, test_corr=0.6051472628406409 — lr=0.003, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=16.53598546863705, RMSEp=23.365941484745054, Rcal=0.970693921169216, Rval=0.9151482612491815, RPD=2.470763921514823, train_corr=0.970693921169216, test_corr=0.9151482612491815 — lr=0.003, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=54.48662527534801, RMSEp=46.29804155926575, Rcal=0.7252259777399703, Rval=0.7016952266951529, RPD=1.2469582571615403, train_corr=0.7252259777399703, test_corr=0.7016952266951529 — lr=0.003, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.015951837184893, RMSEp=22.69618313562822, Rcal=0.9720636590730625, Rval=0.9321101154462973, RPD=2.5436755100071404, train_corr=0.9720636590730625, test_corr=0.9321101154462973 — lr=0.003, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=57.8041904029836, RMSEp=49.722807224233456, Rcal=0.6628976285438568, Rval=0.6189284127116955, RPD=1.1610713158728858, train_corr=0.6628976285438568, test_corr=0.6189284127116955 — lr=0.003, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=9.200391177754977, RMSEp=20.132610688403858, Rcal=0.9929570827253905, Rval=0.9413626711098101, RPD=2.867572721007681, train_corr=0.9929570827253905, test_corr=0.9413626711098101 — lr=0.003, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 50ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 10ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=46.783038486762706, RMSEp=42.23753571432236, Rcal=0.8026969339211868, Rval=0.7417965603368849, RPD=1.36683459951851, train_corr=0.8026969339211868, test_corr=0.7417965603368849 — lr=0.003, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 49ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=17.91198162981694, RMSEp=25.40483091859148, Rcal=0.9651434970520428, Rval=0.8986762942876952, RPD=2.2724703580091923, train_corr=0.9651434970520428, test_corr=0.8986762942876952 — lr=0.003, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 44ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=65.71858355064994, RMSEp=55.509002139218076, Rcal=0.2182916864272064, Rval=0.28108799442311083, RPD=1.0400425694546238, train_corr=0.2182916864272064, test_corr=0.28108799442311083 — lr=0.003, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=14.493851477583021, RMSEp=23.658772126371673, Rcal=0.976838398181667, Rval=0.9127625324983122, RPD=2.4401826478721977, train_corr=0.976838398181667, test_corr=0.9127625324983122 — lr=0.003, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=55.02229448768443, RMSEp=47.113973626513385, Rcal=0.7029117560541496, Rval=0.6546844763840252, RPD=1.2253631092633217, train_corr=0.7029117560541496, test_corr=0.6546844763840252 — lr=0.003, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=18.79993851053445, RMSEp=25.067345140385168, Rcal=0.9623921134159215, Rval=0.9070477459393049, RPD=2.3030649990822085, train_corr=0.9623921134159215, test_corr=0.9070477459393049 — lr=0.003, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 43ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=50.1771831253967, RMSEp=41.99164636561042, Rcal=0.7540075611087286, Rval=0.7443952323243074, RPD=1.3748383359413763, train_corr=0.7540075611087286, test_corr=0.7443952323243074 — lr=0.003, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.18797485130855, RMSEp=24.148054360989494, Rcal=0.9722808672789535, Rval=0.9141405774542567, RPD=2.390740237275536, train_corr=0.9722808672789535, test_corr=0.9141405774542567 — lr=0.004, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 50ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=34.01311997493138, RMSEp=28.438561355159067, Rcal=0.9290609068035343, Rval=0.9083811327165524, RPD=2.0300508345602863, train_corr=0.9290609068035343, test_corr=0.9083811327165524 — lr=0.004, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 52ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=16.755356636480666, RMSEp=25.55461084785495, Rcal=0.9686074362575748, Rval=0.9024168244473687, RPD=2.2591510219605073, train_corr=0.9686074362575748, test_corr=0.9024168244473687 — lr=0.004, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 44ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=29.493642120461406, RMSEp=27.766060377065767, Rcal=0.9426083216119412, Rval=0.894968732815683, RPD=2.0792191772520914, train_corr=0.9426083216119412, test_corr=0.894968732815683 — lr=0.004, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.410556459621755, RMSEp=25.30028853312906, Rcal=0.9672845621872, Rval=0.9001452189524148, RPD=2.281860348633522, train_corr=0.9672845621872, test_corr=0.9001452189524148 — lr=0.004, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=39.72541755015057, RMSEp=34.26226531981605, Rcal=0.8879262850509416, Rval=0.8572557457095075, RPD=1.6849944005116508, train_corr=0.8879262850509416, test_corr=0.8572557457095075 — lr=0.004, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=12.629887156177332, RMSEp=21.22809951637343, Rcal=0.9824270780263025, Rval=0.9336797341321684, RPD=2.7195899080935417, train_corr=0.9824270780263025, test_corr=0.9336797341321684 — lr=0.004, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33928939813545, RMSEp=57.73173073527188, Rcal=0.38052825177422445, Rval=0.37297979649644486, RPD=0.9999999043413866, train_corr=0.38052825177422445, test_corr=0.37297979649644486 — lr=0.004, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=14.21531998514379, RMSEp=24.163429883181156, Rcal=0.9807751842930206, Rval=0.91284561148236, RPD=2.389218976438377, train_corr=0.9807751842930206, test_corr=0.91284561148236 — lr=0.004, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=48.39274199624619, RMSEp=42.57510081986018, Rcal=0.7567195318568878, Rval=0.7136423830555408, RPD=1.3559973811219777, train_corr=0.7567195318568878, test_corr=0.7136423830555408 — lr=0.004, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=11.885689933699341, RMSEp=24.763398555746683, Rcal=0.9857174113905276, Rval=0.9045143051898802, RPD=2.331332877543868, train_corr=0.9857174113905276, test_corr=0.9045143051898802 — lr=0.004, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33810859012542, RMSEp=57.73172442614355, Rcal=0.26896561660770524, Rval=0.08641576747264441, RPD=1.0000000136249356, train_corr=0.26896561660770524, test_corr=0.08641576747264441 — lr=0.004, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=9.527389518921503, RMSEp=21.070890993781074, Rcal=0.9901347729733657, Rval=0.9354368111787347, RPD=2.7398805883326762, train_corr=0.9901347729733657, test_corr=0.9354368111787347 — lr=0.004, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "RMSEc=36.59521797657607, RMSEp=35.40125258778067, Rcal=0.8609540236183398, Rval=0.808793911624395, RPD=1.6307819919530655, train_corr=0.8609540236183398, test_corr=0.808793911624395 — lr=0.004, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=15.473000550239952, RMSEp=24.246641477095057, Rcal=0.975816425566105, Rval=0.9079970066295013, RPD=2.3810194606651685, train_corr=0.975816425566105, test_corr=0.9079970066295013 — lr=0.004, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=55.69692080511932, RMSEp=47.55737921432455, Rcal=0.6116619936358576, Rval=0.5997810875337963, RPD=1.2139383239046413, train_corr=0.6116619936358576, test_corr=0.5997810875337963 — lr=0.004, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=14.258075671879757, RMSEp=25.202067357656365, Rcal=0.9775526299661651, Rval=0.9015789172274601, RPD=2.2907535478511343, train_corr=0.9775526299661651, test_corr=0.9015789172274601 — lr=0.004, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=65.84642804887234, RMSEp=55.22720552667639, Rcal=0.2387430587430402, Rval=0.3239997881151377, RPD=1.045349382829961, train_corr=0.2387430587430402, test_corr=0.3239997881151377 — lr=0.004, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=18.320544007508637, RMSEp=23.91069330050784, Rcal=0.9654010702679574, Rval=0.9109627985416398, RPD=2.4144730764251157, train_corr=0.9654010702679574, test_corr=0.9109627985416398 — lr=0.004, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=60.40690268058986, RMSEp=52.658768453021565, Rcal=0.5507460226854188, Rval=0.5059703427345114, RPD=1.096336410986116, train_corr=0.5507460226854188, test_corr=0.5059703427345114 — lr=0.004, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=19.174623649096695, RMSEp=26.881997422951223, Rcal=0.9613462068291915, Rval=0.8874851010342618, RPD=2.147598048776114, train_corr=0.9613462068291915, test_corr=0.8874851010342618 — lr=0.004, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=56.590889468201134, RMSEp=48.45173743024827, Rcal=0.5512745782926148, Rval=0.5453419064488019, RPD=1.1915305471933981, train_corr=0.5512745782926148, test_corr=0.5453419064488019 — lr=0.004, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.765784219458258, RMSEp=25.835411813537036, Rcal=0.9675736860087897, Rval=0.8949057197446837, RPD=2.2345966702371185, train_corr=0.9675736860087897, test_corr=0.8949057197446837 — lr=0.005, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=22.265398726153744, RMSEp=19.761075873296246, Rcal=0.9638558436031321, Rval=0.9552765079336508, RPD=2.9214869465052375, train_corr=0.9638558436031321, test_corr=0.9552765079336508 — lr=0.005, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.920464270239176, RMSEp=21.90368585420994, Rcal=0.9679598175080902, Rval=0.9257131420332275, RPD=2.635708236366913, train_corr=0.9679598175080902, test_corr=0.9257131420332275 — lr=0.005, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33709467147007, RMSEp=57.7317522266746, Rcal=0.020226351077181865, Rval=0.027087253047164087, RPD=0.9999995320782934, train_corr=0.020226351077181865, test_corr=0.027087253047164087 — lr=0.005, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=19.148936654414786, RMSEp=25.242093501521644, Rcal=0.9599040659064677, Rval=0.8996604769230883, RPD=2.2871211220754883, train_corr=0.9599040659064677, test_corr=0.8996604769230883 — lr=0.005, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=47.3672463422247, RMSEp=41.792886180586486, Rcal=0.7404067866329704, Rval=0.6946075535946583, RPD=1.3813768439747518, train_corr=0.7404067866329704, test_corr=0.6946075535946583 — lr=0.005, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=9.476121505457822, RMSEp=24.78916439145965, Rcal=0.9902140215339826, Rval=0.9039535212156172, RPD=2.328909692196978, train_corr=0.9902140215339826, test_corr=0.9039535212156172 — lr=0.005, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34051832538026, RMSEp=57.731805190931475, Rcal=-0.24665038916844376, Rval=-0.15812114528864427, RPD=0.99999861465969, train_corr=-0.24665038916844376, test_corr=-0.15812114528864427 — lr=0.005, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=20.497468878351295, RMSEp=26.250223004677206, Rcal=0.9571250282601623, Rval=0.8925324683271623, RPD=2.1992851337852657, train_corr=0.9571250282601623, test_corr=0.8925324683271623 — lr=0.005, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33952185381021, RMSEp=57.731724791745016, Rcal=0.35525894392584917, Rval=0.35909737614908893, RPD=1.0000000072921702, train_corr=0.35525894392584917, test_corr=0.35909737614908893 — lr=0.005, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=19.42779546181732, RMSEp=24.917419653132463, Rcal=0.957509054131526, Rval=0.9039292081748774, RPD=2.316922298392037, train_corr=0.957509054131526, test_corr=0.9039292081748774 — lr=0.005, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.3383743297754, RMSEp=57.73171609079328, Rcal=0.35099504148900434, Rval=0.28820094034208477, RPD=1.0000001580057187, train_corr=0.35099504148900434, test_corr=0.28820094034208477 — lr=0.005, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.379214575695876, RMSEp=26.29663053044093, Rcal=0.9708655149178249, Rval=0.8963035916539197, RPD=2.1954038995948335, train_corr=0.9708655149178249, test_corr=0.8963035916539197 — lr=0.005, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33648646146871, RMSEp=57.731789043566444, Rcal=0.08818095685709519, Rval=0.03475894692561478, RPD=0.9999988943555548, train_corr=0.08818095685709519, test_corr=0.03475894692561478 — lr=0.005, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.04396404675762, RMSEp=27.221756847528148, Rcal=0.9695651632509755, Rval=0.8823572425632198, RPD=2.1207935085195233, train_corr=0.9695651632509755, test_corr=0.8823572425632198 — lr=0.005, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33977825474581, RMSEp=57.73175581288026, Rcal=0.3469706818267609, Rval=0.2719679786338143, RPD=0.999999469959899, train_corr=0.3469706818267609, test_corr=0.2719679786338143 — lr=0.005, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=16.732859356818516, RMSEp=28.293639659344304, Rcal=0.9701125212020493, Rval=0.8735021919177405, RPD=2.040448875006012, train_corr=0.9701125212020493, test_corr=0.8735021919177405 — lr=0.005, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=72.95608902929663, RMSEp=63.57741137738357, Rcal=0.18047299702471298, Rval=0.11202374963927282, RPD=0.9080540393513334, train_corr=0.18047299702471298, test_corr=0.11202374963927282 — lr=0.005, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=13.494625937623159, RMSEp=23.653053396619207, Rcal=0.9798362728707106, Rval=0.9146467914254626, RPD=2.440772624349054, train_corr=0.9798362728707106, test_corr=0.9146467914254626 — lr=0.005, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 53ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=66.41968227443444, RMSEp=56.81674732907677, Rcal=0.25668270651080405, Rval=0.2674295062801987, RPD=1.0161040173306357, train_corr=0.25668270651080405, test_corr=0.2674295062801987 — lr=0.005, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=22.10527240605022, RMSEp=25.863041598624974, Rcal=0.9537308902814731, Rval=0.8950901558232115, RPD=2.232209424888522, train_corr=0.9537308902814731, test_corr=0.8950901558232115 — lr=0.005, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=58.44915991954074, RMSEp=50.594971689800595, Rcal=0.6111561846857094, Rval=0.55704213356143, RPD=1.1410565770584802, train_corr=0.6111561846857094, test_corr=0.55704213356143 — lr=0.005, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 11ms/step\n",
      "RMSEc=16.047299622428078, RMSEp=24.193729376278718, Rcal=0.9802025443570846, Rval=0.9202738702779147, RPD=2.3862267910353223, train_corr=0.9802025443570846, test_corr=0.9202738702779147 — lr=0.006, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=33.12750941065251, RMSEp=35.13691251535193, Rcal=0.9058821039522795, Rval=0.7999388180665437, RPD=1.6430506006328978, train_corr=0.9058821039522795, test_corr=0.7999388180665437 — lr=0.006, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=13.414719307232746, RMSEp=25.137320401594653, Rcal=0.9812216443345118, Rval=0.9012098860292814, RPD=2.296653911014008, train_corr=0.9812216443345118, test_corr=0.9012098860292814 — lr=0.006, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 33ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "RMSEc=35.1533470294043, RMSEp=30.989794403491473, Rcal=0.9168549634570182, Rval=0.8738735396185374, RPD=1.8629270159414228, train_corr=0.9168549634570182, test_corr=0.8738735396185374 — lr=0.006, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=16.297288072489284, RMSEp=25.05384131738008, Rcal=0.9708844521074844, Rval=0.9035453767788936, RPD=2.3043063329648197, train_corr=0.9708844521074844, test_corr=0.9035453767788936 — lr=0.006, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34019412240755, RMSEp=57.731746667794425, Rcal=0.32327313904643845, Rval=0.36856259618456927, RPD=0.999999628366348, train_corr=0.32327313904643845, test_corr=0.36856259618456927 — lr=0.006, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=16.465730928211542, RMSEp=22.775417723946322, Rcal=0.9711190459179896, Rval=0.9192069112815611, RPD=2.534826184638309, train_corr=0.9711190459179896, test_corr=0.9192069112815611 — lr=0.006, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33587892189783, RMSEp=57.73173402759646, Rcal=0.20458594415468365, Rval=0.31432614177078105, RPD=0.9999998473134051, train_corr=0.20458594415468365, test_corr=0.31432614177078105 — lr=0.006, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 33ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=24.80976190464776, RMSEp=27.928330406695306, Rcal=0.9399928548440746, Rval=0.8927720826730579, RPD=2.067138435131606, train_corr=0.9399928548440746, test_corr=0.8927720826730579 — lr=0.006, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33817543991368, RMSEp=57.73170368758122, Rcal=0.1928762652007103, Rval=0.31486112530722327, RPD=1.0000003728480535, train_corr=0.1928762652007103, test_corr=0.31486112530722327 — lr=0.006, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 33ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "RMSEc=19.16375665075421, RMSEp=28.618478829164417, Rcal=0.9607986251275712, Rval=0.8697419986554102, RPD=2.0172883945844644, train_corr=0.9607986251275712, test_corr=0.8697419986554102 — lr=0.006, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33571609653558, RMSEp=57.73185633413937, Rcal=0.1965979368248737, Rval=0.14496165837561417, RPD=0.999997728785923, train_corr=0.1965979368248737, test_corr=0.14496165837561417 — lr=0.006, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "RMSEc=21.437903237284054, RMSEp=26.720316417439424, Rcal=0.9495585010304686, Rval=0.8878931898256942, RPD=2.1605928728843597, train_corr=0.9495585010304686, test_corr=0.8878931898256942 — lr=0.006, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=67.34127884075903, RMSEp=57.731866276693566, Rcal=0.18440084283343902, Rval=0.05588964736296169, RPD=0.999997556566796, train_corr=0.18440084283343902, test_corr=0.05588964736296169 — lr=0.006, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=19.9668250079732, RMSEp=27.10999401501354, Rcal=0.9562792141713632, Rval=0.8845815568127716, RPD=2.1295366270004594, train_corr=0.9562792141713632, test_corr=0.8845815568127716 — lr=0.006, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=53.40657074090869, RMSEp=47.37382864179918, Rcal=0.6623356296924342, Rval=0.6027862637172247, RPD=1.218641745197608, train_corr=0.6623356296924342, test_corr=0.6027862637172247 — lr=0.006, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=11.915278712175793, RMSEp=25.703320292038192, Rcal=0.9844341848574256, Rval=0.8996574116008734, RPD=2.2460804501828284, train_corr=0.9844341848574256, test_corr=0.8996574116008734 — lr=0.006, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=75.93442837478769, RMSEp=66.63621293285362, Rcal=-0.056100251216071366, Rval=-0.015769259551767795, RPD=0.8663716419615306, train_corr=-0.056100251216071366, test_corr=-0.015769259551767795 — lr=0.006, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "RMSEc=27.584861475700457, RMSEp=31.297713846845088, Rcal=0.9487812999503927, Rval=0.8641183850470932, RPD=1.8445987938685855, train_corr=0.9487812999503927, test_corr=0.8641183850470932 — lr=0.006, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=61.5398574790822, RMSEp=53.512158315595904, Rcal=0.5979993817071723, Rval=0.5865676886648458, RPD=1.0788524894147073, train_corr=0.5979993817071723, test_corr=0.5865676886648458 — lr=0.006, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=20.826443445303624, RMSEp=29.939358036176422, Rcal=0.9516975559400681, Rval=0.8605783810650848, RPD=1.9282886808386468, train_corr=0.9516975559400681, test_corr=0.8605783810650848 — lr=0.006, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=67.18956333838682, RMSEp=57.96913335324757, Rcal=0.40451212902592704, Rval=0.34693295435545984, RPD=0.995904576681071, train_corr=0.40451212902592704, test_corr=0.34693295435545984 — lr=0.006, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=21.566608310052267, RMSEp=26.880313146004287, Rcal=0.9542978948450642, Rval=0.8891597084129346, RPD=2.1477326137964394, train_corr=0.9542978948450642, test_corr=0.8891597084129346 — lr=0.007, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 48ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=21.392543354130275, RMSEp=19.785884351518963, Rcal=0.9616749222671476, Rval=0.9472339362654104, RPD=2.9178238479040997, train_corr=0.9616749222671476, test_corr=0.9472339362654104 — lr=0.007, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=16.414137525530073, RMSEp=25.110967802405582, Rcal=0.9701474122584789, Rval=0.9048837630662874, RPD=2.299064124768779, train_corr=0.9701474122584789, test_corr=0.9048837630662874 — lr=0.007, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34094380650878, RMSEp=57.731815960762454, Rcal=0.3396862758412787, Rval=0.4004511726121262, RPD=0.999998428110629, train_corr=0.3396862758412787, test_corr=0.4004511726121262 — lr=0.007, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 45ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=11.20730256188616, RMSEp=26.29845268094383, Rcal=0.9886054724793542, Rval=0.8950151120350075, RPD=2.1952517858424296, train_corr=0.9886054724793542, test_corr=0.8950151120350075 — lr=0.007, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.3365416442739, RMSEp=57.73174256834103, Rcal=0.42707283331272916, Rval=0.42734952947803306, RPD=0.9999996993749766, train_corr=0.42707283331272916, test_corr=0.42734952947803306 — lr=0.007, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "RMSEc=13.470212779405173, RMSEp=26.327209927862615, Rcal=0.9800033956795052, Rval=0.8903214742540361, RPD=2.1928539093554282, train_corr=0.9800033956795052, test_corr=0.8903214742540361 — lr=0.007, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.3421886972774, RMSEp=57.73195112320865, Rcal=0.179661663660578, Rval=0.24196611343286284, RPD=0.9999960869073419, train_corr=0.179661663660578, test_corr=0.24196611343286284 — lr=0.007, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=16.33082246652725, RMSEp=25.199081337057365, Rcal=0.9732853097636952, Rval=0.9047255108518861, RPD=2.29102499573408, train_corr=0.9732853097636952, test_corr=0.9047255108518861 — lr=0.007, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "RMSEc=61.814895425347146, RMSEp=53.99403177468754, Rcal=0.5082930921844961, Rval=0.4325457106705538, RPD=1.0692241959934405, train_corr=0.5082930921844961, test_corr=0.4325457106705538 — lr=0.007, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=18.48452878932838, RMSEp=27.349342607110888, Rcal=0.9620931017039056, Rval=0.8812548422750494, RPD=2.1108999233394443, train_corr=0.9620931017039056, test_corr=0.8812548422750494 — lr=0.007, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=67.34111853061552, RMSEp=57.73183354922097, Rcal=0.28988912692085744, Rval=0.26007839499441254, RPD=0.9999981234532191, train_corr=0.28988912692085744, test_corr=0.26007839499441254 — lr=0.007, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=21.985235290412618, RMSEp=27.112984308016156, Rcal=0.9491230501491842, Rval=0.8883098074183413, RPD=2.129301760251665, train_corr=0.9491230501491842, test_corr=0.8883098074183413 — lr=0.007, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=62.634287207826354, RMSEp=54.642070702725995, Rcal=0.4276724677964989, Rval=0.36191949504415183, RPD=1.0565435107102272, train_corr=0.4276724677964989, test_corr=0.36191949504415183 — lr=0.007, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=19.579263574851215, RMSEp=27.19169384369426, Rcal=0.9595010171630126, Rval=0.8841420131935711, RPD=2.1231382474587006, train_corr=0.9595010171630126, test_corr=0.8841420131935711 — lr=0.007, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=59.49513462180202, RMSEp=50.73432998522421, Rcal=0.5578989992603715, Rval=0.5404139697518366, RPD=1.1379222950130272, train_corr=0.5578989992603715, test_corr=0.5404139697518366 — lr=0.007, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=17.626768700528128, RMSEp=27.457643634350205, Rcal=0.9686181007113177, Rval=0.8821751943876912, RPD=2.1025739128069505, train_corr=0.9686181007113177, test_corr=0.8821751943876912 — lr=0.007, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 5ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=60.83157956284984, RMSEp=51.25528386252174, Rcal=0.5706020076521234, Rval=0.6006121390417151, RPD=1.126356559990656, train_corr=0.5706020076521234, test_corr=0.6006121390417151 — lr=0.007, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=19.40574152392839, RMSEp=27.969169719298026, Rcal=0.9581421180912214, Rval=0.875613192604962, RPD=2.0641200933791444, train_corr=0.9581421180912214, test_corr=0.875613192604962 — lr=0.007, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=65.54322414510425, RMSEp=55.241558166685074, Rcal=0.23649797818418106, Rval=0.3041200196441236, RPD=1.0450777843473513, train_corr=0.23649797818418106, test_corr=0.3041200196441236 — lr=0.007, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=18.811200986266336, RMSEp=28.271364563052952, Rcal=0.9606153064213899, Rval=0.872736706826218, RPD=2.042056551036894, train_corr=0.9606153064213899, test_corr=0.872736706826218 — lr=0.007, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33497798393914, RMSEp=57.73195071992312, Rcal=0.21203694383508673, Rval=0.1082810218923128, RPD=0.9999960938927971, train_corr=0.21203694383508673, test_corr=0.1082810218923128 — lr=0.007, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=16.033680804963836, RMSEp=21.759438852516865, Rcal=0.9733004919971197, Rval=0.9267416760598739, RPD=2.653180792208567, train_corr=0.9733004919971197, test_corr=0.9267416760598739 — lr=0.008, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34143098852827, RMSEp=57.73184445075641, Rcal=0.3164509069929222, Rval=0.2575963126537516, RPD=0.9999979346230322, train_corr=0.3164509069929222, test_corr=0.2575963126537516 — lr=0.008, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=12.461413945576338, RMSEp=20.623888736692738, Rcal=0.9830286460512437, Rval=0.9343709789856554, RPD=2.7992647725073247, train_corr=0.9830286460512437, test_corr=0.9343709789856554 — lr=0.008, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 8ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=63.103410041326796, RMSEp=54.43417851218192, Rcal=0.5138059140195441, Rval=0.4471530090836748, RPD=1.0605786068731557, train_corr=0.5138059140195441, test_corr=0.4471530090836748 — lr=0.008, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=18.774630357071842, RMSEp=26.94661373376656, Rcal=0.964512671392356, Rval=0.8872642832731509, RPD=2.1424482416650172, train_corr=0.964512671392356, test_corr=0.8872642832731509 — lr=0.008, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34371604904827, RMSEp=57.73215617110555, Rcal=-0.05167299873365098, Rval=0.06397348546166388, RPD=0.9999925352108849, train_corr=-0.05167299873365098, test_corr=0.06397348546166388 — lr=0.008, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=20.523086574062535, RMSEp=29.18583728006694, Rcal=0.9577294864583894, Rval=0.8715745997478483, RPD=1.97807329146468, train_corr=0.9577294864583894, test_corr=0.8715745997478483 — lr=0.008, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=57.760945819988244, RMSEp=50.48659475195889, Rcal=0.5654020584865135, Rval=0.49951432389982986, RPD=1.1435060236558057, train_corr=0.5654020584865135, test_corr=0.49951432389982986 — lr=0.008, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=19.33445966643628, RMSEp=25.55481662348312, Rcal=0.9589992855670434, Rval=0.8973938407619235, RPD=2.2591328305476113, train_corr=0.9589992855670434, test_corr=0.8973938407619235 — lr=0.008, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=67.33834984171997, RMSEp=57.73172452783826, Rcal=-0.10263896115785635, Rval=0.0351845471333484, RPD=1.0000000118634307, train_corr=-0.10263896115785635, test_corr=0.0351845471333484 — lr=0.008, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=23.714797179460692, RMSEp=28.801526602442532, Rcal=0.9511989411308639, Rval=0.888954982146974, RPD=2.004467541239241, train_corr=0.9511989411308639, test_corr=0.888954982146974 — lr=0.008, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33623812964072, RMSEp=57.731805327164714, Rcal=0.32519395926802047, Rval=0.2855529952135421, RPD=0.9999986122999327, train_corr=0.32519395926802047, test_corr=0.2855529952135421 — lr=0.008, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=37.25534574798018, RMSEp=38.85071726411277, Rcal=0.8377948639349849, Rval=0.7415406991998889, RPD=1.4859886580797466, train_corr=0.8377948639349849, test_corr=0.7415406991998889 — lr=0.008, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34134412488702, RMSEp=57.73186141192588, Rcal=0.500133723367491, Rval=0.515711669424966, RPD=0.9999976408314581, train_corr=0.500133723367491, test_corr=0.515711669424966 — lr=0.008, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 10ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=20.867265040275992, RMSEp=31.909400744583397, Rcal=0.9619432297668219, Rval=0.8483989817774951, RPD=1.8092387780906385, train_corr=0.9619432297668219, test_corr=0.8483989817774951 — lr=0.008, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=60.45504705576426, RMSEp=53.40486638080362, Rcal=0.5161320307443457, Rval=0.43769901378075876, RPD=1.0810199355444179, train_corr=0.5161320307443457, test_corr=0.43769901378075876 — lr=0.008, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=26.56494666499019, RMSEp=32.53180231220419, Rcal=0.9226255636394791, Rval=0.8308103874946676, RPD=1.7746242479494203, train_corr=0.9226255636394791, test_corr=0.8308103874946676 — lr=0.008, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34292346637837, RMSEp=57.73202500641417, Rcal=0.2639051881016285, Rval=0.34245106786436874, RPD=0.9999948071511512, train_corr=0.2639051881016285, test_corr=0.34245106786436874 — lr=0.008, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=23.511716033421393, RMSEp=28.24463780918487, Rcal=0.9579539170448709, Rval=0.8918645097207241, RPD=2.043988866232188, train_corr=0.9579539170448709, test_corr=0.8918645097207241 — lr=0.008, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=75.13297900671344, RMSEp=65.94615757341651, Rcal=-0.10119234256838247, Rval=0.03137892882347517, RPD=0.8754372860687603, train_corr=-0.10119234256838247, test_corr=0.03137892882347517 — lr=0.008, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=21.192046008040773, RMSEp=30.275207277692527, Rcal=0.9496645196016014, Rval=0.8548143803614598, RPD=1.9068977689633406, train_corr=0.9496645196016014, test_corr=0.8548143803614598 — lr=0.008, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=62.51648809196072, RMSEp=54.5004707496788, Rcal=0.5595744676708784, Rval=0.561339581683974, RPD=1.0592885606052278, train_corr=0.5595744676708784, test_corr=0.561339581683974 — lr=0.008, units=150, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=17.224006271447603, RMSEp=23.912103791587697, Rcal=0.9683095935441552, Rval=0.920338650283876, RPD=2.4143306551322623, train_corr=0.9683095935441552, test_corr=0.920338650283876 — lr=0.009, units=50, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 34ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=51.56308713260532, RMSEp=45.163000759031085, Rcal=0.7088447242656492, Rval=0.6578206437747206, RPD=1.2782969298422928, train_corr=0.7088447242656492, test_corr=0.6578206437747206 — lr=0.009, units=50, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 36ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=16.235540422698175, RMSEp=27.565109269466646, Rcal=0.9791289575442291, Rval=0.8978985939901667, RPD=2.094376795258451, train_corr=0.9791289575442291, test_corr=0.8978985939901667 — lr=0.009, units=60, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 51ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step \n",
      "RMSEc=41.55264570723175, RMSEp=38.006565166581524, Rcal=0.8708471538467393, Rval=0.8192076169632778, RPD=1.518993493879237, train_corr=0.8708471538467393, test_corr=0.8192076169632778 — lr=0.009, units=60, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 47ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=9.586392565429271, RMSEp=24.466814277995823, Rcal=0.9903317251021434, Rval=0.9073897981296069, RPD=2.359593061719338, train_corr=0.9903317251021434, test_corr=0.9073897981296069 — lr=0.009, units=70, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 42ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 6ms/step \n",
      "RMSEc=57.7396403784881, RMSEp=49.660586146355655, Rcal=0.6385868225530235, Rval=0.6099214110420995, RPD=1.1625260532083193, train_corr=0.6385868225530235, test_corr=0.6099214110420995 — lr=0.009, units=70, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=18.515260510146362, RMSEp=27.757929211022216, Rcal=0.9629406300272693, Rval=0.8771131847052087, RPD=2.079828245610276, train_corr=0.9629406300272693, test_corr=0.8771131847052087 — lr=0.009, units=80, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.34272143774045, RMSEp=57.732025888553494, Rcal=0.06735775592778782, Rval=0.04823085501774455, RPD=0.999994791871335, train_corr=0.06735775592778782, test_corr=0.04823085501774455 — lr=0.009, units=80, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=11.94406780481405, RMSEp=22.252922899644528, Rcal=0.9852045571515649, Rval=0.9243424823602518, RPD=2.594343469983298, train_corr=0.9852045571515649, test_corr=0.9243424823602518 — lr=0.009, units=90, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33287800331077, RMSEp=57.732359073956296, Rcal=0.365115747868231, Rval=0.29454290127701144, RPD=0.9999890206942538, train_corr=0.365115747868231, test_corr=0.29454290127701144 — lr=0.009, units=90, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=21.680607397089954, RMSEp=24.225985092323263, Rcal=0.9480323860668061, Rval=0.9083993669232054, RPD=2.383049646597389, train_corr=0.9480323860668061, test_corr=0.9083993669232054 — lr=0.009, units=100, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 12ms/step\n",
      "RMSEc=67.33990430468691, RMSEp=57.733189072291474, Rcal=0.27608314564072184, Rval=-0.015731765535443518, RPD=0.9999746444015926, train_corr=0.27608314564072184, test_corr=-0.015731765535443518 — lr=0.009, units=100, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 41ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=18.441804176359124, RMSEp=29.785879814415846, Rcal=0.9640730749558214, Rval=0.8609955022516258, RPD=1.9382246075133032, train_corr=0.9640730749558214, test_corr=0.8609955022516258 — lr=0.009, units=110, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33996835868894, RMSEp=57.73176919989167, Rcal=0.41008918197561883, Rval=0.28458606515689866, RPD=0.9999992380770985, train_corr=0.41008918197561883, test_corr=0.28458606515689866 — lr=0.009, units=110, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=21.1935522437045, RMSEp=26.105222047573335, Rcal=0.9496196359391071, Rval=0.8932483780661953, RPD=2.211501021041924, train_corr=0.9496196359391071, test_corr=0.8932483780661953 — lr=0.009, units=120, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 35ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=67.33290533638628, RMSEp=57.73230246286562, Rcal=0.1160362657062815, Rval=0.15233697233358742, RPD=0.9999900012626135, train_corr=0.1160362657062815, test_corr=0.15233697233358742 — lr=0.009, units=120, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 9ms/step \n",
      "RMSEc=25.824129689326913, RMSEp=29.875222873753767, Rcal=0.9345729098170353, Rval=0.8874723988672629, RPD=1.932428268625689, train_corr=0.9345729098170353, test_corr=0.8874723988672629 — lr=0.009, units=130, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=67.33704192334737, RMSEp=57.731757006830335, Rcal=-0.1423342251681406, Rval=-0.15772643081984702, RPD=0.9999994492789167, train_corr=-0.1423342251681406, test_corr=-0.15772643081984702 — lr=0.009, units=130, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=23.46979312766856, RMSEp=30.656159056852506, Rcal=0.9403894413578288, Rval=0.8497185576525254, RPD=1.8832015160695719, train_corr=0.9403894413578288, test_corr=0.8497185576525254 — lr=0.009, units=140, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 38ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=62.517637907064646, RMSEp=54.13489987533557, Rcal=0.4496170206643707, Rval=0.3970227273928213, RPD=1.0664418950747474, train_corr=0.4496170206643707, test_corr=0.3970227273928213 — lr=0.009, units=140, activation=tanh\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 37ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 10ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "RMSEc=22.92277798943087, RMSEp=31.52102217058747, Rcal=0.943586834737295, Rval=0.8465834829198433, RPD=1.8315308716924963, train_corr=0.943586834737295, test_corr=0.8465834829198433 — lr=0.009, units=150, activation=relu\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\30382\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\keras\\src\\layers\\rnn\\rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m7/7\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 39ms/step\n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 4ms/step \n",
      "\u001b[1m4/4\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 3ms/step \n",
      "RMSEc=70.8680687246718, RMSEp=61.07967372729178, Rcal=0.30536600532025066, Rval=0.25110903769337234, RPD=0.9451871905946141, train_corr=0.30536600532025066, test_corr=0.25110903769337234 — lr=0.009, units=150, activation=tanh\n"
     ]
    }
   ],
   "source": [
    "# 正则化+遍历中放入相关系数\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "from tensorflow.keras import layers, models\n",
    "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n",
    "import pandas as pd\n",
    "def calculate_rmse(y_true, y_pred):\n",
    "    return np.sqrt(np.mean((y_true - y_pred) ** 2))\n",
    "\n",
    "np.random.seed(0)\n",
    "tf.random.set_seed(0)\n",
    "\n",
    "learning_rates = [0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009]\n",
    "hidden_units = [50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150]\n",
    "activations = ['relu', 'tanh']\n",
    "results = []\n",
    "\n",
    "X_train_rnn = np.expand_dims(X_train.values, axis=2)\n",
    "X_test_rnn = np.expand_dims(X_test.values, axis=2)\n",
    "X_val_rnn = np.expand_dims(X_val.values, axis=2)\n",
    "\n",
    "# 遍历不同的学习率、隐藏单元和激活函数\n",
    "for lr in learning_rates:\n",
    "    for units in hidden_units:\n",
    "        for activation in activations:\n",
    "            # 构建 RNN 模型\n",
    "            model = models.Sequential([\n",
    "                layers.SimpleRNN(units, activation=activation, input_shape=(X_train_rnn.shape[1], X_train_rnn.shape[2]), return_sequences=True),\n",
    "                layers.Dropout(0.2),\n",
    "                layers.SimpleRNN(units, activation=activation),\n",
    "                layers.Dropout(0.2),\n",
    "                layers.Dense(64, activation=activation, kernel_regularizer=tf.keras.regularizers.l2(0.01)),\n",
    "                layers.Dense(1)\n",
    "            ])\n",
    "            \n",
    "            # 调整学习率\n",
    "            optimizer = tf.keras.optimizers.Adam(learning_rate=lr)\n",
    "            \n",
    "            # 编译模型，添加MSE作为评估指标\n",
    "            model.compile(optimizer=optimizer,\n",
    "                          loss='mean_squared_error',\n",
    "                          metrics=['mean_absolute_error', 'mean_squared_error'])\n",
    "            \n",
    "            # Early Stopping callback\n",
    "            early_stopping = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True)\n",
    "            \n",
    "            # 训练模型\n",
    "            history = model.fit(X_train_rnn, y_train, epochs=100, batch_size=32, validation_data=(X_test_rnn, y_test), \n",
    "                                verbose=0, callbacks=[early_stopping])\n",
    "            \n",
    "            # 使用模型进行预测\n",
    "            rnn_y_pred_train = model.predict(X_train_rnn).flatten()\n",
    "            rnn_y_pred_test = model.predict(X_test_rnn).flatten()\n",
    "            rnn_y_pred_val = model.predict(X_val_rnn).flatten() \n",
    "            \n",
    "            # 计算 RMSEc 和 RMSEp\n",
    "            rmsec = calculate_rmse(y_train, rnn_y_pred_train)\n",
    "            rmsep = calculate_rmse(y_test, rnn_y_pred_test)\n",
    "\n",
    "            # 计算相关系数 Rcal 和 Rval\n",
    "            def calculate_r(y_true, y_pred):\n",
    "                correlation_matrix = np.corrcoef(y_true, y_pred)\n",
    "                return correlation_matrix[0, 1]\n",
    "\n",
    "            rcal = calculate_r(y_train, rnn_y_pred_train)\n",
    "            rval = calculate_r(y_test, rnn_y_pred_test)\n",
    "\n",
    "            # 计算 RPD \n",
    "            std_dev = np.std(y_test)\n",
    "            rpd = std_dev / rmsep\n",
    "            \n",
    "            train_corr = np.corrcoef(y_train, rnn_y_pred_train)[0, 1]\n",
    "            test_corr = np.corrcoef(y_test, rnn_y_pred_test)[0, 1]\n",
    "            \n",
    "            # 计算校准集预测率（pr）\n",
    "#             pr = np.mean(rnn_y_pred_val) / np.std(y_val)\n",
    "            \n",
    "            # 存储结果\n",
    "            results.append({\n",
    "                'Learning Rate': lr,\n",
    "                'Hidden Units': units,\n",
    "                'Activation': activation,\n",
    "                'RMSEc': rmsec,\n",
    "                'RMSEp': rmsep,\n",
    "                'RPD': rpd,\n",
    "                'Rcal': rcal,\n",
    "                'Rval': rval,\n",
    "#                 'PR' : pr,\n",
    "                'Train Predictions': list(rnn_y_pred_train),  # 添加训练预测值\n",
    "                'Test Predictions': list(rnn_y_pred_test),     # 添加测试预测值\n",
    "                'Val Predictions': list(rnn_y_pred_val),     # 添加校准预测值\n",
    "                'train_corr': train_corr,\n",
    "                'test_corr': test_corr\n",
    "            })\n",
    "            print(f\"RMSEc={rmsec}, RMSEp={rmsep}, Rcal={rcal}, Rval={rval}, RPD={rpd}, train_corr={train_corr}, test_corr={test_corr} — lr={lr}, units={units}, activation={activation}\")\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
